...

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