diff options
| author | Russ Cox <rsc@golang.org> | 2011-11-03 17:35:28 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2011-11-03 17:35:28 -0400 |
| commit | f437331f80b05944e8f15b2f81429729101a9455 (patch) | |
| tree | 213071dde50770d53d80083bf6d0b07937e70bf5 /src/pkg/runtime/linux/amd64 | |
| parent | 31452a36189e48ad178a85299e2b189701d8f358 (diff) | |
| download | go-f437331f80b05944e8f15b2f81429729101a9455.tar.xz | |
time: faster Nanoseconds call
runtime knows how to get the time of day
without allocating memory.
R=golang-dev, dsymonds, dave, hectorchu, r, cw
CC=golang-dev
https://golang.org/cl/5297078
Diffstat (limited to 'src/pkg/runtime/linux/amd64')
| -rw-r--r-- | src/pkg/runtime/linux/amd64/sys.s | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/pkg/runtime/linux/amd64/sys.s b/src/pkg/runtime/linux/amd64/sys.s index 3174af2cb0..227c8e62cc 100644 --- a/src/pkg/runtime/linux/amd64/sys.s +++ b/src/pkg/runtime/linux/amd64/sys.s @@ -93,19 +93,19 @@ TEXT runtime·mincore(SB),7,$0-24 SYSCALL RET -TEXT runtime·gettime(SB), 7, $32 +TEXT runtime·nanotime(SB), 7, $32 LEAQ 8(SP), DI MOVQ $0, SI MOVQ $0xffffffffff600000, AX CALL AX + MOVQ 8(SP), AX // sec + MOVL 16(SP), DX // usec - MOVQ 8(SP), BX // sec - MOVQ sec+0(FP), DI - MOVQ BX, (DI) - - MOVL 16(SP), BX // usec - MOVQ usec+8(FP), DI - MOVL BX, (DI) + // sec is in AX, usec in DX + // return nsec in AX + IMULQ $1000000000, AX + IMULQ $1000, DX + ADDQ DX, AX RET TEXT runtime·rt_sigaction(SB),7,$0-32 |
