aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/linux/amd64
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2011-11-03 17:35:28 -0400
committerRuss Cox <rsc@golang.org>2011-11-03 17:35:28 -0400
commitf437331f80b05944e8f15b2f81429729101a9455 (patch)
tree213071dde50770d53d80083bf6d0b07937e70bf5 /src/pkg/runtime/linux/amd64
parent31452a36189e48ad178a85299e2b189701d8f358 (diff)
downloadgo-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.s16
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