diff options
| author | Russ Cox <rsc@golang.org> | 2010-02-08 14:32:22 -0800 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2010-02-08 14:32:22 -0800 |
| commit | e4f06812c5c291e21c07bb19cc48f947f0a84060 (patch) | |
| tree | 41eb3c4e31fa99fb0346ec5be84eaf00be902e44 /src/pkg/runtime/linux | |
| parent | 49c42569138d027b7c7e68dbbe58fd1864045767 (diff) | |
| download | go-e4f06812c5c291e21c07bb19cc48f947f0a84060.tar.xz | |
runtime: instrument malloc + garbage collector.
add simple garbage collection benchmark.
R=iant
CC=golang-dev
https://golang.org/cl/204053
Diffstat (limited to 'src/pkg/runtime/linux')
| -rw-r--r-- | src/pkg/runtime/linux/386/sys.s | 17 | ||||
| -rw-r--r-- | src/pkg/runtime/linux/amd64/sys.s | 15 |
2 files changed, 32 insertions, 0 deletions
diff --git a/src/pkg/runtime/linux/386/sys.s b/src/pkg/runtime/linux/386/sys.s index 7f644cbf3f..ed7c155f1f 100644 --- a/src/pkg/runtime/linux/386/sys.s +++ b/src/pkg/runtime/linux/386/sys.s @@ -30,6 +30,23 @@ TEXT write(SB),7,$0 INT $0x80 RET +TEXT gettime(SB), 7, $32 + MOVL $78, AX // syscall - gettimeofday + LEAL 8(SP), BX + MOVL $0, CX + MOVL $0, DX + INT $0x80 + + MOVL 8(SP), BX // sec + MOVL sec+0(FP), DI + MOVL BX, (DI) + MOVL $0, 4(DI) // zero extend 32 -> 64 bits + + MOVL 12(SP), BX // usec + MOVL usec+4(FP), DI + MOVL BX, (DI) + RET + TEXT rt_sigaction(SB),7,$0 MOVL $174, AX // syscall - rt_sigaction MOVL 4(SP), BX diff --git a/src/pkg/runtime/linux/amd64/sys.s b/src/pkg/runtime/linux/amd64/sys.s index 8e0905ee15..18bf5b5092 100644 --- a/src/pkg/runtime/linux/amd64/sys.s +++ b/src/pkg/runtime/linux/amd64/sys.s @@ -44,6 +44,21 @@ TEXT ·write(SB),7,$0-24 SYSCALL RET +TEXT gettime(SB), 7, $32 + LEAQ 8(SP), DI + MOVQ $0, SI + MOVQ $0xffffffffff600000, AX + CALL AX + + 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) + RET + TEXT rt_sigaction(SB),7,$0-32 MOVL 8(SP), DI MOVQ 16(SP), SI |
