runtime: rename walltime1 to walltime

Change-Id: Iec9de5ca56eb68d524bbaa0668515dbd09ad38a1
Reviewed-on: https://go-review.googlesource.com/c/go/+/314770
Trust: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
This commit is contained in:
Ian Lance Taylor 2021-04-28 11:42:34 -07:00
parent 4e3e6b58f7
commit 862ddb37b4
31 changed files with 51 additions and 54 deletions

View file

@ -296,8 +296,8 @@
setInt64(sp + 8, (timeOrigin + performance.now()) * 1000000); setInt64(sp + 8, (timeOrigin + performance.now()) * 1000000);
}, },
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
"runtime.walltime1": (sp) => { "runtime.walltime": (sp) => {
sp >>>= 0; sp >>>= 0;
const msec = (new Date).getTime(); const msec = (new Date).getTime();
setInt64(sp + 8, msec / 1000); setInt64(sp + 8, msec / 1000);

View file

@ -531,7 +531,7 @@ func usleep(µs uint32) {
usleep1(µs) usleep1(µs)
} }
func walltime1() (sec int64, nsec int32) { func walltime() (sec int64, nsec int32) {
var ts mts var ts mts
sysvicall2(&libc_clock_gettime, _CLOCK_REALTIME, uintptr(unsafe.Pointer(&ts))) sysvicall2(&libc_clock_gettime, _CLOCK_REALTIME, uintptr(unsafe.Pointer(&ts)))
return ts.tv_sec, int32(ts.tv_nsec) return ts.tv_sec, int32(ts.tv_nsec)

View file

@ -336,7 +336,7 @@ func nanotime1() int64 {
return tp.tv_sec*1000000000 + tp.tv_nsec return tp.tv_sec*1000000000 + tp.tv_nsec
} }
func walltime1() (sec int64, nsec int32) { func walltime() (sec int64, nsec int32) {
ts := &timespec{} ts := &timespec{}
if clock_gettime(_CLOCK_REALTIME, ts) != 0 { if clock_gettime(_CLOCK_REALTIME, ts) != 0 {
throw("syscall clock_gettime failed") throw("syscall clock_gettime failed")

View file

@ -98,4 +98,4 @@ func sigaltstack(new, old *stackt)
func closeonexec(fd int32) func closeonexec(fd int32)
func setNonblock(fd int32) func setNonblock(fd int32)
func walltime1() (sec int64, nsec int32) func walltime() (sec int64, nsec int32)

View file

@ -804,9 +804,6 @@ func writeConsoleUTF16(handle uintptr, b []uint16) {
return return
} }
// walltime1 isn't implemented on Windows, but will never be called.
func walltime1() (sec int64, nsec int32)
//go:nosplit //go:nosplit
func semasleep(ns int64) int32 { func semasleep(ns int64) int32 {
const ( const (

View file

@ -274,7 +274,7 @@ func nanotime_trampoline()
//go:nosplit //go:nosplit
//go:cgo_unsafe_args //go:cgo_unsafe_args
func walltime1() (int64, int32) { func walltime() (int64, int32) {
var t timespec var t timespec
libcCall(unsafe.Pointer(abi.FuncPCABI0(walltime_trampoline)), unsafe.Pointer(&t)) libcCall(unsafe.Pointer(abi.FuncPCABI0(walltime_trampoline)), unsafe.Pointer(&t))
return t.tv_sec, int32(t.tv_nsec) return t.tv_sec, int32(t.tv_nsec)

View file

@ -184,8 +184,8 @@ TEXT runtime·setitimer(SB), NOSPLIT, $-8
SYSCALL SYSCALL
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB), NOSPLIT, $32 TEXT runtime·walltime(SB), NOSPLIT, $32
MOVL $232, AX // clock_gettime MOVL $232, AX // clock_gettime
MOVQ $0, DI // CLOCK_REALTIME MOVQ $0, DI // CLOCK_REALTIME
LEAQ 8(SP), SI LEAQ 8(SP), SI

View file

@ -219,8 +219,8 @@ TEXT runtime·mincore(SB),NOSPLIT,$0-16
MOVL AX, ret+12(FP) MOVL AX, ret+12(FP)
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB), NOSPLIT, $8-12 TEXT runtime·walltime(SB), NOSPLIT, $8-12
// We don't know how much stack space the VDSO code will need, // We don't know how much stack space the VDSO code will need,
// so switch to g0. // so switch to g0.

View file

@ -204,9 +204,9 @@ TEXT runtime·mincore(SB),NOSPLIT,$0-28
MOVL AX, ret+24(FP) MOVL AX, ret+24(FP)
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
// non-zero frame-size means bp is saved and restored // non-zero frame-size means bp is saved and restored
TEXT runtime·walltime1(SB),NOSPLIT,$16-12 TEXT runtime·walltime(SB),NOSPLIT,$16-12
// We don't know how much stack space the VDSO code will need, // We don't know how much stack space the VDSO code will need,
// so switch to g0. // so switch to g0.
// In particular, a kernel configured with CONFIG_OPTIMIZE_INLINING=n // In particular, a kernel configured with CONFIG_OPTIMIZE_INLINING=n

View file

@ -242,7 +242,7 @@ TEXT runtime·mincore(SB),NOSPLIT,$0
MOVW R0, ret+12(FP) MOVW R0, ret+12(FP)
RET RET
TEXT runtime·walltime1(SB),NOSPLIT,$8-12 TEXT runtime·walltime(SB),NOSPLIT,$8-12
// We don't know how much stack space the VDSO code will need, // We don't know how much stack space the VDSO code will need,
// so switch to g0. // so switch to g0.

View file

@ -206,8 +206,8 @@ TEXT runtime·mincore(SB),NOSPLIT|NOFRAME,$0-28
MOVW R0, ret+24(FP) MOVW R0, ret+24(FP)
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB),NOSPLIT,$24-12 TEXT runtime·walltime(SB),NOSPLIT,$24-12
MOVD RSP, R20 // R20 is unchanged by C code MOVD RSP, R20 // R20 is unchanged by C code
MOVD RSP, R1 MOVD RSP, R1

View file

@ -213,8 +213,8 @@ TEXT runtime·mincore(SB),NOSPLIT|NOFRAME,$0-28
MOVW R2, ret+24(FP) MOVW R2, ret+24(FP)
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB),NOSPLIT,$16-12 TEXT runtime·walltime(SB),NOSPLIT,$16-12
MOVV R29, R16 // R16 is unchanged by C code MOVV R29, R16 // R16 is unchanged by C code
MOVV R29, R1 MOVV R29, R1
@ -319,7 +319,7 @@ noswitch:
BEQ R25, fallback BEQ R25, fallback
JAL (R25) JAL (R25)
// see walltime1 for detail // see walltime for detail
BEQ R2, R0, finish BEQ R2, R0, finish
MOVV R0, runtime·vdsoClockgettimeSym(SB) MOVV R0, runtime·vdsoClockgettimeSym(SB)
MOVW $1, R4 // CLOCK_MONOTONIC MOVW $1, R4 // CLOCK_MONOTONIC

View file

@ -218,8 +218,8 @@ TEXT runtime·mincore(SB),NOSPLIT,$0-16
MOVW R2, ret+12(FP) MOVW R2, ret+12(FP)
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB),NOSPLIT,$8-12 TEXT runtime·walltime(SB),NOSPLIT,$8-12
MOVW $0, R4 // CLOCK_REALTIME MOVW $0, R4 // CLOCK_REALTIME
MOVW $4(R29), R5 MOVW $4(R29), R5
MOVW $SYS_clock_gettime, R2 MOVW $SYS_clock_gettime, R2

View file

@ -184,8 +184,8 @@ TEXT runtime·mincore(SB),NOSPLIT|NOFRAME,$0-28
MOVW R3, ret+24(FP) MOVW R3, ret+24(FP)
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB),NOSPLIT,$16-12 TEXT runtime·walltime(SB),NOSPLIT,$16-12
MOVD R1, R15 // R15 is unchanged by C code MOVD R1, R15 // R15 is unchanged by C code
MOVD g_m(g), R21 // R21 = m MOVD g_m(g), R21 // R21 = m

View file

@ -219,8 +219,8 @@ TEXT runtime·mincore(SB),NOSPLIT|NOFRAME,$0-28
MOVW A0, ret+24(FP) MOVW A0, ret+24(FP)
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB),NOSPLIT,$24-12 TEXT runtime·walltime(SB),NOSPLIT,$24-12
MOV $0, A0 // CLOCK_REALTIME MOV $0, A0 // CLOCK_REALTIME
MOV $8(X2), A1 MOV $8(X2), A1
MOV $SYS_clock_gettime, A7 MOV $SYS_clock_gettime, A7

View file

@ -194,8 +194,8 @@ TEXT runtime·mincore(SB),NOSPLIT|NOFRAME,$0-28
MOVW R2, ret+24(FP) MOVW R2, ret+24(FP)
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB),NOSPLIT,$16 TEXT runtime·walltime(SB),NOSPLIT,$16
MOVW $0, R2 // CLOCK_REALTIME MOVW $0, R2 // CLOCK_REALTIME
MOVD $tp-16(SP), R3 MOVD $tp-16(SP), R3
MOVW $SYS_clock_gettime, R1 MOVW $SYS_clock_gettime, R1

View file

@ -206,8 +206,8 @@ TEXT runtime·setitimer(SB),NOSPLIT,$-4
INT $0x80 INT $0x80
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB), NOSPLIT, $32 TEXT runtime·walltime(SB), NOSPLIT, $32
LEAL 12(SP), BX LEAL 12(SP), BX
MOVL $CLOCK_REALTIME, 4(SP) // arg 1 - clock_id MOVL $CLOCK_REALTIME, 4(SP) // arg 1 - clock_id
MOVL BX, 8(SP) // arg 2 - tp MOVL BX, 8(SP) // arg 2 - tp

View file

@ -238,8 +238,8 @@ TEXT runtime·setitimer(SB),NOSPLIT,$-8
SYSCALL SYSCALL
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB), NOSPLIT, $32 TEXT runtime·walltime(SB), NOSPLIT, $32
MOVQ $CLOCK_REALTIME, DI // arg 1 - clock_id MOVQ $CLOCK_REALTIME, DI // arg 1 - clock_id
LEAQ 8(SP), SI // arg 2 - tp LEAQ 8(SP), SI // arg 2 - tp
MOVL $SYS___clock_gettime50, AX MOVL $SYS___clock_gettime50, AX

View file

@ -216,8 +216,8 @@ TEXT runtime·setitimer(SB),NOSPLIT|NOFRAME,$0
SWI $SYS___setitimer50 SWI $SYS___setitimer50
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB), NOSPLIT, $32 TEXT runtime·walltime(SB), NOSPLIT, $32
MOVW $0, R0 // CLOCK_REALTIME MOVW $0, R0 // CLOCK_REALTIME
MOVW $8(R13), R1 MOVW $8(R13), R1
SWI $SYS___clock_gettime50 SWI $SYS___clock_gettime50

View file

@ -224,8 +224,8 @@ TEXT runtime·setitimer(SB),NOSPLIT,$-8
SVC $SYS___setitimer50 SVC $SYS___setitimer50
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB), NOSPLIT, $32 TEXT runtime·walltime(SB), NOSPLIT, $32
MOVW $CLOCK_REALTIME, R0 // arg 1 - clock_id MOVW $CLOCK_REALTIME, R0 // arg 1 - clock_id
MOVD $8(RSP), R1 // arg 2 - tp MOVD $8(RSP), R1 // arg 2 - tp
SVC $SYS___clock_gettime50 SVC $SYS___clock_gettime50

View file

@ -162,7 +162,7 @@ func nanotime1() int64 {
func clock_gettime_trampoline() func clock_gettime_trampoline()
//go:nosplit //go:nosplit
func walltime1() (int64, int32) { func walltime() (int64, int32) {
var ts timespec var ts timespec
args := struct { args := struct {
clock_id int32 clock_id int32

View file

@ -170,8 +170,8 @@ TEXT runtime·setitimer(SB),NOSPLIT,$-4
INT $0x80 INT $0x80
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB), NOSPLIT, $32 TEXT runtime·walltime(SB), NOSPLIT, $32
LEAL 12(SP), BX LEAL 12(SP), BX
MOVL $0, 4(SP) // arg 1 - clock_id MOVL $0, 4(SP) // arg 1 - clock_id
MOVL BX, 8(SP) // arg 2 - tp MOVL BX, 8(SP) // arg 2 - tp

View file

@ -188,8 +188,8 @@ TEXT runtime·setitimer(SB),NOSPLIT,$0
INVOKE_SYSCALL INVOKE_SYSCALL
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB), NOSPLIT, $32 TEXT runtime·walltime(SB), NOSPLIT, $32
MOVW CLOCK_REALTIME, R0 // arg 1 - clock_id MOVW CLOCK_REALTIME, R0 // arg 1 - clock_id
MOVW $8(R13), R1 // arg 2 - tp MOVW $8(R13), R1 // arg 2 - tp
MOVW $87, R12 // sys_clock_gettime MOVW $87, R12 // sys_clock_gettime

View file

@ -186,8 +186,8 @@ TEXT runtime·setitimer(SB),NOSPLIT,$0
SYSCALL SYSCALL
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB), NOSPLIT, $32 TEXT runtime·walltime(SB), NOSPLIT, $32
MOVW CLOCK_REALTIME, R4 // arg 1 - clock_id MOVW CLOCK_REALTIME, R4 // arg 1 - clock_id
MOVV $8(R29), R5 // arg 2 - tp MOVV $8(R29), R5 // arg 2 - tp
MOVV $87, R2 // sys_clock_gettime MOVV $87, R2 // sys_clock_gettime

View file

@ -102,8 +102,8 @@ TEXT runtime·nsec(SB),NOSPLIT,$8
MOVL $-1, ret_hi+8(FP) MOVL $-1, ret_hi+8(FP)
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB),NOSPLIT,$8-12 TEXT runtime·walltime(SB),NOSPLIT,$8-12
CALL runtime·nanotime1(SB) CALL runtime·nanotime1(SB)
MOVL 0(SP), AX MOVL 0(SP), AX
MOVL 4(SP), DX MOVL 4(SP), DX

View file

@ -88,8 +88,8 @@ TEXT runtime·nsec(SB),NOSPLIT,$0
MOVQ AX, ret+8(FP) MOVQ AX, ret+8(FP)
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB),NOSPLIT,$8-12 TEXT runtime·walltime(SB),NOSPLIT,$8-12
CALL runtime·nanotime1(SB) CALL runtime·nanotime1(SB)
MOVQ 0(SP), AX MOVQ 0(SP), AX

View file

@ -138,8 +138,8 @@ TEXT runtime·nsec(SB),NOSPLIT|NOFRAME,$0-12
MOVW R0, ret_hi+8(FP) MOVW R0, ret_hi+8(FP)
RET RET
// func walltime1() (sec int64, nsec int32) // func walltime() (sec int64, nsec int32)
TEXT runtime·walltime1(SB),NOSPLIT,$12-12 TEXT runtime·walltime(SB),NOSPLIT,$12-12
// use nsec system call to get current time in nanoseconds // use nsec system call to get current time in nanoseconds
MOVW $sysnsec_lo-8(SP), R0 // destination addr MOVW $sysnsec_lo-8(SP), R0 // destination addr
MOVW R0,res-12(SP) MOVW R0,res-12(SP)

View file

@ -185,7 +185,7 @@ TEXT ·nanotime1(SB), NOSPLIT, $0
CallImport CallImport
RET RET
TEXT ·walltime1(SB), NOSPLIT, $0 TEXT ·walltime(SB), NOSPLIT, $0
CallImport CallImport
RET RET

View file

@ -16,6 +16,6 @@ import _ "unsafe" // for go:linkname
//go:linkname time_now time.now //go:linkname time_now time.now
func time_now() (sec int64, nsec int32, mono int64) { func time_now() (sec int64, nsec int32, mono int64) {
sec, nsec = walltime1() sec, nsec = walltime()
return sec, nsec, nanotime() return sec, nsec, nanotime()
} }

View file

@ -7,4 +7,4 @@
package runtime package runtime
func walltime1() (sec int64, nsec int32) func walltime() (sec int64, nsec int32)

View file

@ -106,7 +106,7 @@ func nanotime1() int64 {
return int64((1e9 * uint64(bt.sec)) + ((1e9 * uint64(bt.frac>>32)) >> 32)) return int64((1e9 * uint64(bt.sec)) + ((1e9 * uint64(bt.frac>>32)) >> 32))
} }
func walltime1() (sec int64, nsec int32) { func walltime() (sec int64, nsec int32) {
bt := vdsoClockGettime(_CLOCK_REALTIME) bt := vdsoClockGettime(_CLOCK_REALTIME)
if bt == zeroBintime { if bt == zeroBintime {
return fallback_walltime() return fallback_walltime()