Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for ensureSwept (0.12 sec)

  1. src/runtime/pinner.go

    		// nothing to do, silently ignore it.
    		return false
    	}
    
    	// ensure that the span is swept, b/c sweeping accesses the specials list
    	// w/o locks.
    	mp := acquirem()
    	span.ensureSwept()
    	KeepAlive(ptr) // make sure ptr is still alive after span is swept
    
    	objIndex := span.objIndex(uintptr(ptr))
    
    	lock(&span.speciallock) // guard against concurrent calls of setPinned on same span
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 04 14:29:45 UTC 2024
    - 11K bytes
    - Viewed (0)
  2. src/runtime/heapdump.go

    var dumphdr = []byte("go1.7 heap dump\n")
    
    func mdump(m *MemStats) {
    	assertWorldStopped()
    
    	// make sure we're done sweeping
    	for _, s := range mheap_.allspans {
    		if s.state.get() == mSpanInUse {
    			s.ensureSwept()
    		}
    	}
    	memclrNoHeapPointers(unsafe.Pointer(&typecache), unsafe.Sizeof(typecache))
    	dwrite(unsafe.Pointer(&dumphdr[0]), uintptr(len(dumphdr)))
    	dumpparams()
    	dumpitabs()
    	dumpobjs()
    	dumpgs()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 04:07:57 UTC 2024
    - 17.6K bytes
    - Viewed (0)
  3. src/runtime/mgcsweep.go

    // Returns only when span s has been swept.
    //
    //go:nowritebarrier
    func (s *mspan) ensureSwept() {
    	// Caller must disable preemption.
    	// Otherwise when this function returns the span can become unswept again
    	// (if GC is triggered on another goroutine).
    	gp := getg()
    	if gp.m.locks == 0 && gp.m.mallocing == 0 && gp != gp.m.g0 {
    		throw("mspan.ensureSwept: m is not locked")
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 17:52:18 UTC 2024
    - 32.9K bytes
    - Viewed (0)
  4. src/runtime/mheap.go

    	}
    
    	// Ensure that the span is swept.
    	// Sweeping accesses the specials list w/o locks, so we have
    	// to synchronize with it. And it's just much safer.
    	mp := acquirem()
    	span.ensureSwept()
    
    	offset := uintptr(p) - span.base()
    	kind := s.kind
    
    	lock(&span.speciallock)
    
    	// Find splice point, check for existing record.
    	iter, exists := span.specialFindSplicePoint(offset, kind)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 22:31:00 UTC 2024
    - 78K bytes
    - Viewed (0)
Back to top