Text file src/runtime/textflag.h

     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  #define NOFRAME 512
    32  // Function can call reflect.Type.Method or reflect.Type.MethodByName.
    33  #define REFLECTMETHOD 1024
    34  // Function is the outermost frame of the call stack. Call stack unwinders
    35  // should stop at this function.
    36  #define TOPFRAME 2048
    37  // Function is an ABI wrapper.
    38  #define ABIWRAPPER 4096
    39  

View as plain text