summaryrefslogtreecommitdiff
path: root/src/pkg/runtime/cgo/asm_amd64.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/runtime/cgo/asm_amd64.s')
-rw-r--r--src/pkg/runtime/cgo/asm_amd64.s47
1 files changed, 0 insertions, 47 deletions
diff --git a/src/pkg/runtime/cgo/asm_amd64.s b/src/pkg/runtime/cgo/asm_amd64.s
deleted file mode 100644
index 6095bd133..000000000
--- a/src/pkg/runtime/cgo/asm_amd64.s
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2009 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 "textflag.h"
-
-/*
- * void crosscall2(void (*fn)(void*, int32), void*, int32)
- * Save registers and call fn with two arguments.
- */
-TEXT crosscall2(SB),NOSPLIT,$0
- SUBQ $0x58, SP /* keeps stack pointer 32-byte aligned */
- MOVQ BX, 0x10(SP)
- MOVQ BP, 0x18(SP)
- MOVQ R12, 0x20(SP)
- MOVQ R13, 0x28(SP)
- MOVQ R14, 0x30(SP)
- MOVQ R15, 0x38(SP)
-
-#ifdef GOOS_windows
- // Win64 save RBX, RBP, RDI, RSI, RSP, R12, R13, R14, and R15
- MOVQ DI, 0x40(SP)
- MOVQ SI, 0x48(SP)
-
- MOVQ DX, 0(SP) /* arg */
- MOVQ R8, 8(SP) /* argsize (includes padding) */
-
- CALL CX /* fn */
-
- MOVQ 0x40(SP), DI
- MOVQ 0x48(SP), SI
-#else
- MOVQ SI, 0(SP) /* arg */
- MOVQ DX, 8(SP) /* argsize (includes padding) */
-
- CALL DI /* fn */
-#endif
-
- MOVQ 0x10(SP), BX
- MOVQ 0x18(SP), BP
- MOVQ 0x20(SP), R12
- MOVQ 0x28(SP), R13
- MOVQ 0x30(SP), R14
- MOVQ 0x38(SP), R15
-
- ADDQ $0x58, SP
- RET