Documentation
¶
Index ¶
- Variables
- func AllGs(f func(*Goroutine))
- func InsertFunction(name string, receiver interface{}) error
- func TracebackOthers()
- type ArrayType
- type BitVector
- type ChanType
- type Defer
- type FuncTab
- type FuncType
- type FuncVal
- type Gcstats
- type GenericType
- type GoBuf
- type Goroutine
- type IMethod
- type InterfaceType
- type M
- type MapType
- type Method
- type ModuleData
- type ModuleHash
- type Panic
- type PtrType
- type SliceType
- type SpecificType
- type StructField
- type StructType
- type Type
- type UncommonType
Constants ¶
This section is empty.
Variables ¶
View Source
var ( StopTheWorld func(string) StartTheWorld func() )
View Source
var DMA []byte
Functions ¶
func InsertFunction ¶
func TracebackOthers ¶
func TracebackOthers()
Types ¶
type GenericType ¶
type GenericType struct {
Type
}
func (*GenericType) Sizeof ¶
func (t *GenericType) Sizeof() uintptr
func (*GenericType) ToType ¶
func (t *GenericType) ToType() *Type
type Goroutine ¶
type Goroutine struct { Stack struct { Lo, Hi uintptr } Stackguard0, Stackguard1 uintptr Panic uintptr Defer *Defer M *M // current m; offset known to arm liblink StackAlloc uintptr // stack allocation is [stack.lo,stack.lo+stackAlloc) Sched GoBuf Syscallsp uintptr // if status==Gsyscall, syscallsp = sched.sp to use during gc Syscallpc uintptr // if status==Gsyscall, syscallpc = sched.pc to use during gc Stkbar []struct { SavedLRPtr, SavedLRVal uintptr // stack barriers, from low to high } StkbarPos uintptr // index of lowest stack barrier not hit Param unsafe.Pointer // passed parameter on wakeup Atomicstatus uint32 StackLock uint32 // sigprof/scang lock; TODO: fold in to atomicstatus Goid int64 Waitsince int64 // approx time when the g become blocked Waitreason string // if status==Gwaiting Schedlink *Goroutine Preempt bool // preemption signal, duplicates stackguard0 = stackpreempt Paniconfault bool // panic (instead of crash) on unexpected fault address Preemptscan bool // preempted g does scan for gc Gcscandone bool // g has scanned stack; protected by _Gscan bit in status Gcscanvalid bool // false at start of gc cycle, true if G has not run since last scan Throwsplit bool // must not split stack Raceignore int8 // ignore race detection events Sysblocktraced bool // StartTrace has emitted EvGoInSyscall about this goroutine Sysexitticks int64 // cputicks when syscall has returned (for tracing) Sysexitseq uint64 // trace seq when syscall has returned (for tracing) Lockedm uintptr Sig uint32 Writebuf []byte Sigcode0 uintptr Sigcode1 uintptr Sigpc uintptr Gopc uintptr // pc of go statement that created this goroutine Startpc uintptr // pc of goroutine function Racectx uintptr Waiting uintptr // sudog structures this g is waiting on (that have a valid elem ptr) Readyg uintptr // scratch for readyExecute // Per-G gcController state Gcalloc uintptr // bytes allocated during this GC cycle Gcscanwork int64 // scan work done (or stolen) this GC cycle }
type InterfaceType ¶
func (*InterfaceType) Sizeof ¶
func (t *InterfaceType) Sizeof() uintptr
func (*InterfaceType) ToType ¶
func (t *InterfaceType) ToType() *Type
type M ¶
type M struct { G0 *Goroutine // goroutine with scheduling stack Morebuf GoBuf // gobuf arg to morestack Divmod uint32 // div/mod denominator for arm - known to liblink // Fields not known to debuggers. Procid uint64 // for debuggers, but offset not hard-coded Gsignal *Goroutine // signal-handling g Sigmask [4]uintptr // storage for saved signal mask Tls [4]uintptr // thread-local storage (for x86 extern register) Mstartfn func() Curg *Goroutine // current running goroutine Caughtsig uintptr // goroutine running during fatal signal P uintptr // attached p for executing go code (nil if not executing go code) Nextp uintptr ID int32 Mallocing int32 Throwing int32 Preemptoff string // if != "", keep curg running on this m Locks int32 Softfloat int32 Dying int32 Profilehz int32 Helpgc int32 Spinning bool // m is out of work and is actively looking for work Blocked bool // m is blocked on a note Inwb bool // m is executing a write barrier Printlock int8 Fastrand uint32 Ncgocall uint64 // number of cgo calls in total Ncgo int32 // number of cgo calls currently in progress Park uintptr Alllink *M // on allm Schedlink uintptr Machport uint32 // return address for mach ipc (os x) Mcache uintptr Lockedg *Goroutine Createstack [32]uintptr // stack that created this thread. Freglo [16]uint32 // d[i] lsb and f[i] Freghi [16]uint32 // d[i] msb and f[i+16] Fflag uint32 // floating point compare flags Locked uint32 // tracking for lockosthread Nextwaitm uintptr // next m waiting for lock Waitsema uintptr // semaphore for parking on locks Waitsemacount uint32 Waitsemalock uint32 Gcstats Gcstats Needextram bool Traceback uint8 Waitunlockf unsafe.Pointer // todo go func(*g, unsafe.pointer) bool Waitlock unsafe.Pointer Waittraceev byte Waittraceskip int Startingtrace bool Syscalltick uint32 }
type ModuleData ¶
type ModuleData struct { PclnData []byte Ftab []FuncTab Filetab []uint32 FindFuncTab uintptr MinPC, MaxPC uintptr Text, EText uintptr NoPtrData, ENoPtrData uintptr Data, EData uintptr Bss, EBss uintptr NoPtrBss, ENoPtrBss uintptr End, GCData, GCBss uintptr TypeLinks []*Type Name string Hashes []ModuleHash GcDataMask, GcBssMask BitVector Next *ModuleData }
runtime.moduledata
var (
FirstModuleData, LastModuleData *ModuleData
)
func (*ModuleData) AllTypes ¶
func (m *ModuleData) AllTypes(f func(*Type))
type ModuleHash ¶
type Panic ¶
type Panic struct { Argp unsafe.Pointer // pointer to arguments of deferred call run during panic; cannot move - known to liblink Arg interface{} // argument to panic Link *Panic // link to earlier panic Recovered bool // whether this panic is over Aborted bool // the panic was aborted }
* panics
type SpecificType ¶
type StructField ¶
type StructType ¶
type StructType struct { Type Fields []StructField }
func (*StructType) Sizeof ¶
func (t *StructType) Sizeof() uintptr
func (*StructType) ToType ¶
func (t *StructType) ToType() *Type
type Type ¶
type Type struct { Size uintptr PtrData uintptr // size of memory prefix holding all pointers Hash uint32 Align uint8 FieldAlign uint8 Kind uint8 Alg uintptr // gcdata stores the GC type data for the garbage collector. // If the KindGCProg bit is set in kind, gcdata is a GC program. // Otherwise it is a ptrmask bitmap. See mbitmap.go for details. GCData *byte String *string X *UncommonType PtrTo *Type Zero *byte // ptr to the zero value for this type // contains filtered or unexported fields }
runtime._type
func (*Type) ToSpecificType ¶
func (t *Type) ToSpecificType() SpecificType
type UncommonType ¶
Click to show internal directories.
Click to hide internal directories.