diff options
author | Russ Cox <rsc@golang.org> | 2014-09-14 21:25:44 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2014-09-14 21:25:44 -0400 |
commit | 591378011b272416e0a90d25aae8900e6d70d7cc (patch) | |
tree | 0bf7df2d1e783b17373fdf95f2fa2294f68586db /src/runtime/thunk_windows.s | |
parent | 59a3de87634517a57dfd2648b49a22534c8c6083 (diff) | |
download | go-591378011b272416e0a90d25aae8900e6d70d7cc.tar.gz |
runtime: convert syscall_windows.c to Go
This is necessary because syscall.Syscall blocks, and the
garbage collector needs to be able to scan that frame while
it is blocked, and C frames have no garbage collection
information.
Windows builders are broken now due to this problem:
http://build.golang.org/log/152ca9a4be6783d3a8bf6e2f5b9fc265089728b6
LGTM=alex.brainman
R=alex.brainman
CC=golang-codereviews
https://codereview.appspot.com/144830043
Diffstat (limited to 'src/runtime/thunk_windows.s')
-rw-r--r-- | src/runtime/thunk_windows.s | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/runtime/thunk_windows.s b/src/runtime/thunk_windows.s new file mode 100644 index 000000000..7ccb98fd4 --- /dev/null +++ b/src/runtime/thunk_windows.s @@ -0,0 +1,30 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +#include "zasm_GOOS_GOARCH.h" +#include "textflag.h" + +TEXT syscall·Syscall(SB),NOSPLIT,$0-0 + JMP runtime·syscall_Syscall(SB) + +TEXT syscall·Syscall6(SB),NOSPLIT,$0-0 + JMP runtime·syscall_Syscall6(SB) + +TEXT syscall·Syscall9(SB),NOSPLIT,$0-0 + JMP runtime·syscall_Syscall9(SB) + +TEXT syscall·Syscall12(SB),NOSPLIT,$0-0 + JMP runtime·syscall_Syscall12(SB) + +TEXT syscall·Syscall15(SB),NOSPLIT,$0-0 + JMP runtime·syscall_Syscall15(SB) + +TEXT syscall·loadlibrary(SB),NOSPLIT,$0-0 + JMP runtime·syscall_loadlibrary(SB) + +TEXT syscall·getprocaddress(SB),NOSPLIT,$0-0 + JMP runtime·syscall_getprocaddress(SB) + +TEXT syscall·compileCallback(SB),NOSPLIT,$0 + JMP runtime·compileCallback(SB) |