mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
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:
parent
4e3e6b58f7
commit
862ddb37b4
31 changed files with 51 additions and 54 deletions
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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 := ×pec{}
|
ts := ×pec{}
|
||||||
if clock_gettime(_CLOCK_REALTIME, ts) != 0 {
|
if clock_gettime(_CLOCK_REALTIME, ts) != 0 {
|
||||||
throw("syscall clock_gettime failed")
|
throw("syscall clock_gettime failed")
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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 (
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,4 @@
|
||||||
|
|
||||||
package runtime
|
package runtime
|
||||||
|
|
||||||
func walltime1() (sec int64, nsec int32)
|
func walltime() (sec int64, nsec int32)
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue