...

Text file src/pkg/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