summaryrefslogtreecommitdiff
path: root/src/runtime/thunk_windows.s
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-09-14 21:25:44 -0400
committerRuss Cox <rsc@golang.org>2014-09-14 21:25:44 -0400
commit591378011b272416e0a90d25aae8900e6d70d7cc (patch)
tree0bf7df2d1e783b17373fdf95f2fa2294f68586db /src/runtime/thunk_windows.s
parent59a3de87634517a57dfd2648b49a22534c8c6083 (diff)
downloadgo-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.s30
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)