Home | History | Annotate | Download | only in runtime

Lines Matching refs:rescan

117 		// dirty stacks. It's safe to access rescan since the
120 work.nRescanRoots = len(work.rescan.list)
226 gp = work.rescan.list[i-baseRescan].ptr()
229 println("runtime: gp", gp, "found at rescan index", i-baseRescan, "but should be at", gp.gcRescan)
230 throw("bad g rescan index")
807 print("rescan below ", hex(nextBarrier), " in [", hex(sp), ",", hex(gp.stack.hi), ") goid=", gp.goid, "\n")
846 // gp may have added itself to the rescan list between
929 // queueRescan adds gp to the stack rescan list and clears
931 // already on the rescan list.
947 throw("g already on rescan list")
950 lock(&work.rescan.lock)
955 unlock(&work.rescan.lock)
958 if len(work.rescan.list) == cap(work.rescan.list) {
959 throw("rescan list overflow")
961 n := len(work.rescan.list)
963 work.rescan.list = work.rescan.list[:n+1]
964 work.rescan.list[n].set(gp)
965 unlock(&work.rescan.lock)
968 // dequeueRescan removes gp from the stack rescan list, if gp is on
969 // the rescan list. The caller must own gp.
983 lock(&work.rescan.lock)
984 if work.rescan.list[gp.gcRescan].ptr() != gp {
988 last := work.rescan.list[len(work.rescan.list)-1]
989 work.rescan.list[gp.gcRescan] = last
992 work.rescan.list = work.rescan.list[:len(work.rescan.list)-1]
993 unlock(&work.rescan.lock)