gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

funcdata.go (1816B)


      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 package objabi
      6 
      7 // This file defines the IDs for PCDATA and FUNCDATA instructions
      8 // in Go binaries.
      9 //
     10 // These must agree with ../../../runtime/funcdata.h and
     11 // ../../../runtime/symtab.go.
     12 
     13 const (
     14 	PCDATA_RegMapIndex   = 0 // if !go115ReduceLiveness
     15 	PCDATA_UnsafePoint   = 0 // if go115ReduceLiveness
     16 	PCDATA_StackMapIndex = 1
     17 	PCDATA_InlTreeIndex  = 2
     18 
     19 	FUNCDATA_ArgsPointerMaps    = 0
     20 	FUNCDATA_LocalsPointerMaps  = 1
     21 	FUNCDATA_RegPointerMaps     = 2 // if !go115ReduceLiveness
     22 	FUNCDATA_StackObjects       = 3
     23 	FUNCDATA_InlTree            = 4
     24 	FUNCDATA_OpenCodedDeferInfo = 5
     25 
     26 	// ArgsSizeUnknown is set in Func.argsize to mark all functions
     27 	// whose argument size is unknown (C vararg functions, and
     28 	// assembly code without an explicit specification).
     29 	// This value is generated by the compiler, assembler, or linker.
     30 	ArgsSizeUnknown = -0x80000000
     31 )
     32 
     33 // Special PCDATA values.
     34 const (
     35 	// PCDATA_RegMapIndex values.
     36 	//
     37 	// Only if !go115ReduceLiveness.
     38 	PCDATA_RegMapUnsafe = PCDATA_UnsafePointUnsafe // Unsafe for async preemption
     39 
     40 	// PCDATA_UnsafePoint values.
     41 	PCDATA_UnsafePointSafe   = -1 // Safe for async preemption
     42 	PCDATA_UnsafePointUnsafe = -2 // Unsafe for async preemption
     43 
     44 	// PCDATA_Restart1(2) apply on a sequence of instructions, within
     45 	// which if an async preemption happens, we should back off the PC
     46 	// to the start of the sequence when resuming.
     47 	// We need two so we can distinguish the start/end of the sequence
     48 	// in case that two sequences are next to each other.
     49 	PCDATA_Restart1 = -3
     50 	PCDATA_Restart2 = -4
     51 
     52 	// Like PCDATA_Restart1, but back to function entry if async preempted.
     53 	PCDATA_RestartAtEntry = -5
     54 )