aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime
diff options
context:
space:
mode:
authorDmitriy Vyukov <dvyukov@google.com>2014-08-20 12:58:01 +0400
committerDmitriy Vyukov <dvyukov@google.com>2014-08-20 12:58:01 +0400
commitddce7c35f46ad4644d6f6e48817daf7a92804144 (patch)
tree9f42d04665d02f903f52ffcfba757a36ed8cb03f /src/pkg/runtime
parentb95ed834801517f79f4d1c4331d765769f5e5360 (diff)
downloadgo-ddce7c35f46ad4644d6f6e48817daf7a92804144.tar.xz
runtime: add atomicor8 for amd64p32
LGTM=khr R=golang-codereviews, daniel.morsing, khr, rsc CC=golang-codereviews, khr, rlh https://golang.org/cl/131950043
Diffstat (limited to 'src/pkg/runtime')
-rw-r--r--src/pkg/runtime/asm_amd64p32.s8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/pkg/runtime/asm_amd64p32.s b/src/pkg/runtime/asm_amd64p32.s
index 71ea4f385a..3e84d95d3f 100644
--- a/src/pkg/runtime/asm_amd64p32.s
+++ b/src/pkg/runtime/asm_amd64p32.s
@@ -660,6 +660,14 @@ TEXT runtimeĀ·atomicstore64(SB), NOSPLIT, $0-16
XCHGQ AX, 0(BX)
RET
+// void runtimeĀ·atomicor8(byte volatile*, byte);
+TEXT runtimeĀ·atomicor8(SB), NOSPLIT, $0-8
+ MOVL ptr+0(FP), BX
+ MOVB val+4(FP), AX
+ LOCK
+ ORB AX, 0(BX)
+ RET
+
// void jmpdefer(fn, sp);
// called from deferreturn.
// 1. pop the caller