Home | History | Annotate | Download | only in runtime
      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 runtimeno_pointers_stackmap+0x00(SB)/4, $2
     12 DATA runtimeno_pointers_stackmap+0x04(SB)/4, $0
     13 GLOBL runtimeno_pointers_stackmap(SB),RODATA, $8
     14 
     15 GLOBL runtimemheap_(SB), NOPTR, $0
     16 GLOBL runtimememstats(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 #ifndef SKIP4
     29 #define SKIP4 WORD $0
     30 #endif
     31 
     32 #define SKIP16 SKIP4; SKIP4; SKIP4; SKIP4
     33 #define SKIP64 SKIP16; SKIP16; SKIP16; SKIP16
     34 
     35 // This function must be sizeofSkipFunction bytes.
     36 TEXT runtimeskipPleaseUseCallersFrames(SB),NOSPLIT,$0-0
     37 	SKIP64; SKIP64; SKIP64; SKIP64
     38