diff options
| author | Sébastien Paolacci <sebastien.paolacci@gmail.com> | 2011-12-12 16:33:13 -0500 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2011-12-12 16:33:13 -0500 |
| commit | e6f5a90b5fd51812c31da49fe2f4950fb2ac0e0d (patch) | |
| tree | 006637317449e7d96efef6f392622fefb284d980 /src/pkg/runtime/linux/amd64 | |
| parent | 0f4f3c6769bddac4cf417849922c0f68f4bedde2 (diff) | |
| download | go-e6f5a90b5fd51812c31da49fe2f4950fb2ac0e0d.tar.xz | |
runtime: madvise and SysUnused for Linux
SysUnused being a direct call to madvise MADV_DONTNEED.
R=golang-dev, dave
CC=golang-dev
https://golang.org/cl/5477057
Diffstat (limited to 'src/pkg/runtime/linux/amd64')
| -rw-r--r-- | src/pkg/runtime/linux/amd64/defs.h | 6 | ||||
| -rw-r--r-- | src/pkg/runtime/linux/amd64/sys.s | 11 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/pkg/runtime/linux/amd64/defs.h b/src/pkg/runtime/linux/amd64/defs.h index 5b44a78530..bf5f79b0e4 100644 --- a/src/pkg/runtime/linux/amd64/defs.h +++ b/src/pkg/runtime/linux/amd64/defs.h @@ -12,6 +12,8 @@ enum { MAP_PRIVATE = 0x2, MAP_FIXED = 0x10, + MADV_DONTNEED = 0x4, + SA_RESTART = 0x10000000, SA_ONSTACK = 0x8000000, SA_RESTORER = 0x4000000, @@ -95,7 +97,7 @@ struct Siginfo { int32 si_signo; int32 si_errno; int32 si_code; - byte Pad_godefs_0[4]; + byte Pad_cgo_0[4]; byte _sifields[112]; }; struct Itimerval { @@ -181,7 +183,7 @@ struct Fpreg1 { struct Sigaltstack { byte *ss_sp; int32 ss_flags; - byte Pad_godefs_0[4]; + byte Pad_cgo_0[4]; uint64 ss_size; }; struct Mcontext { diff --git a/src/pkg/runtime/linux/amd64/sys.s b/src/pkg/runtime/linux/amd64/sys.s index ff72a75340..76bb48c75a 100644 --- a/src/pkg/runtime/linux/amd64/sys.s +++ b/src/pkg/runtime/linux/amd64/sys.s @@ -192,6 +192,17 @@ TEXT runtime·munmap(SB),7,$0 CALL runtime·notok(SB) RET +TEXT runtime·madvise(SB),7,$0 + MOVQ 8(SP), DI + MOVQ 16(SP), SI + MOVQ 24(SP), DX + MOVQ $28, AX // madvise + SYSCALL + CMPQ AX, $0xfffffffffffff001 + JLS 2(PC) + CALL runtime·notok(SB) + RET + TEXT runtime·notok(SB),7,$0 MOVQ $0xf1, BP MOVQ BP, (BP) |
