...
Text file src/runtime/asm.s
1 // Copyright 2014 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 #include "textflag.h"
6
7 // funcdata for functions with no local variables in frame.
8 // Define two zero-length bitmaps, because the same index is used
9 // for the local variables as for the argument frame, and assembly
10 // frames have two argument bitmaps, one without results and one with results.
11 DATA runtime·no_pointers_stackmap+0x00(SB)/4, $2
12 DATA runtime·no_pointers_stackmap+0x04(SB)/4, $0
13 GLOBL runtime·no_pointers_stackmap(SB),RODATA, $8
14
15 GLOBL runtime·mheap_(SB), NOPTR, $0
16 GLOBL runtime·memstats(SB), NOPTR, $0
17
18 // NaCl requires that these skips be verifiable machine code.
19 #ifdef GOARCH_amd64
20 #define SKIP4 BYTE $0x90; BYTE $0x90; BYTE $0x90; BYTE $0x90
21 #endif
22 #ifdef GOARCH_386
23 #define SKIP4 BYTE $0x90; BYTE $0x90; BYTE $0x90; BYTE $0x90
24 #endif
25 #ifdef GOARCH_amd64p32
26 #define SKIP4 BYTE $0x90; BYTE $0x90; BYTE $0x90; BYTE $0x90
27 #endif
28 #ifdef GOARCH_wasm
29 #define SKIP4 UNDEF; UNDEF; UNDEF; UNDEF
30 #endif
31 #ifndef SKIP4
32 #define SKIP4 WORD $0
33 #endif
34
35 #define SKIP16 SKIP4; SKIP4; SKIP4; SKIP4
36 #define SKIP64 SKIP16; SKIP16; SKIP16; SKIP16
37
38 // This function must be sizeofSkipFunction bytes.
39 TEXT runtime·skipPleaseUseCallersFrames(SB),NOSPLIT,$0-0
40 SKIP64; SKIP64; SKIP64; SKIP64
View as plain text