mp.lockedInt++
mp.lockedg.set(gp)
gp.lockedm.set(mp)
- gp.goid = int64(sched.goidgen.Add(1))
+ gp.goid = sched.goidgen.Add(1)
if raceenabled {
gp.racectx = racegostart(abi.FuncPCABIInternal(newextram) + sys.PCQuantum)
}
pp.goidcache -= _GoidCacheBatch - 1
pp.goidcacheend = pp.goidcache + _GoidCacheBatch
}
- newg.goid = int64(pp.goidcache)
+ newg.goid = pp.goidcache
pp.goidcache++
if raceenabled {
newg.racectx = racegostart(callerpc)
}
id2 := int64(-1)
if gp != nil {
- id2 = gp.goid
+ id2 = int64(gp.goid)
}
id3 := int64(-1)
if lockedg != nil {
- id3 = lockedg.goid
+ id3 = int64(lockedg.goid)
}
print(" M", mp.id, ": p=", id1, " curg=", id2, " mallocing=", mp.mallocing, " throwing=", mp.throwing, " preemptoff=", mp.preemptoff, " locks=", mp.locks, " dying=", mp.dying, " spinning=", mp.spinning, " blocked=", mp.blocked, " lockedg=", id3, "\n")
}
type tracestat struct {
active bool // init tracing activation status
- id int64 // init goroutine id
+ id uint64 // init goroutine id
allocs uint64 // heap allocations
bytes uint64 // heap allocated bytes
}
gp.tracelastp = getg().m.p
// +PCQuantum because traceFrameForPC expects return PCs and subtracts PCQuantum.
id := trace.stackTab.put([]uintptr{startPCforTrace(gp.startpc) + sys.PCQuantum})
- traceEvent(traceEvGoCreate, -1, uint64(gp.goid), uint64(id), stackID)
+ traceEvent(traceEvGoCreate, -1, gp.goid, uint64(id), stackID)
}
if status == _Gwaiting {
// traceEvGoWaiting is implied to have seq=1.
gp.traceseq++
- traceEvent(traceEvGoWaiting, -1, uint64(gp.goid))
+ traceEvent(traceEvGoWaiting, -1, gp.goid)
}
if status == _Gsyscall {
gp.traceseq++
- traceEvent(traceEvGoInSyscall, -1, uint64(gp.goid))
+ traceEvent(traceEvGoInSyscall, -1, gp.goid)
} else {
gp.sysblocktraced = false
}
hdr[0] = 0b10
}
if gp != nil {
- hdr[1] = uint64(gp.goid)
+ hdr[1] = gp.goid
}
// Allow only one writer at a time
newg.tracelastp = getg().m.p
// +PCQuantum because traceFrameForPC expects return PCs and subtracts PCQuantum.
id := trace.stackTab.put([]uintptr{startPCforTrace(pc) + sys.PCQuantum})
- traceEvent(traceEvGoCreate, 2, uint64(newg.goid), uint64(id))
+ traceEvent(traceEvGoCreate, 2, newg.goid, uint64(id))
}
func traceGoStart() {
pp := gp.m.p
gp.traceseq++
if pp.ptr().gcMarkWorkerMode != gcMarkWorkerNotWorker {
- traceEvent(traceEvGoStartLabel, -1, uint64(gp.goid), gp.traceseq, trace.markWorkerLabels[pp.ptr().gcMarkWorkerMode])
+ traceEvent(traceEvGoStartLabel, -1, gp.goid, gp.traceseq, trace.markWorkerLabels[pp.ptr().gcMarkWorkerMode])
} else if gp.tracelastp == pp {
- traceEvent(traceEvGoStartLocal, -1, uint64(gp.goid))
+ traceEvent(traceEvGoStartLocal, -1, gp.goid)
} else {
gp.tracelastp = pp
- traceEvent(traceEvGoStart, -1, uint64(gp.goid), gp.traceseq)
+ traceEvent(traceEvGoStart, -1, gp.goid, gp.traceseq)
}
}
pp := getg().m.p
gp.traceseq++
if gp.tracelastp == pp {
- traceEvent(traceEvGoUnblockLocal, skip, uint64(gp.goid))
+ traceEvent(traceEvGoUnblockLocal, skip, gp.goid)
} else {
gp.tracelastp = pp
- traceEvent(traceEvGoUnblock, skip, uint64(gp.goid), gp.traceseq)
+ traceEvent(traceEvGoUnblock, skip, gp.goid, gp.traceseq)
}
}
gp := getg().m.curg
gp.traceseq++
gp.tracelastp = gp.m.p
- traceEvent(traceEvGoSysExit, -1, uint64(gp.goid), gp.traceseq, uint64(ts)/traceTickDiv)
+ traceEvent(traceEvGoSysExit, -1, gp.goid, gp.traceseq, uint64(ts)/traceTickDiv)
}
func traceGoSysBlock(pp *p) {