...
Text file
src/runtime/textflag.h
Documentation: runtime
1// Copyright 2013 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// This file defines flags attached to various functions
6// and data objects. The compilers, assemblers, and linker must
7// all agree on these values.
8//
9// Keep in sync with src/cmd/internal/obj/textflag.go.
10
11// Don't profile the marked routine. This flag is deprecated.
12#define NOPROF 1
13// It is ok for the linker to get multiple of these symbols. It will
14// pick one of the duplicates to use.
15#define DUPOK 2
16// Don't insert stack check preamble.
17#define NOSPLIT 4
18// Put this data in a read-only section.
19#define RODATA 8
20// This data contains no pointers.
21#define NOPTR 16
22// This is a wrapper function and should not count as disabling 'recover'.
23#define WRAPPER 32
24// This function uses its incoming context register.
25#define NEEDCTXT 64
26// Allocate a word of thread local storage and store the offset from the
27// thread local base to the thread local storage in this variable.
28#define TLSBSS 256
29// Do not insert instructions to allocate a stack frame for this function.
30// Only valid on functions that declare a frame size of 0.
31// TODO(mwhudson): only implemented for ppc64x at present.
32#define NOFRAME 512
33// Function can call reflect.Type.Method or reflect.Type.MethodByName.
34#define REFLECTMETHOD 1024
35// Function is the outermost frame of the call stack. Call stack unwinders
36// should stop at this function.
37#define TOPFRAME 2048
38// Function is an ABI wrapper.
39#define ABIWRAPPER 4096
View as plain text