Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 2 of 2 for freeSpecial (0.17 sec)

  1. src/runtime/mgcsweep.go

    					p := s.base() + uintptr(special.offset)
    					siter.unlinkAndNext()
    					freeSpecial(special, unsafe.Pointer(p), size)
    				}
    			}
    		} else {
    			// object is still live
    			if siter.s.kind == _KindSpecialReachable {
    				special := siter.unlinkAndNext()
    				(*specialReachable)(unsafe.Pointer(special)).reachable = true
    				freeSpecial(special, unsafe.Pointer(p), size)
    			} else {
    				// keep special record
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 17:52:18 UTC 2024
    - 32.9K bytes
    - Viewed (0)
  2. src/runtime/mheap.go

    func (i *specialsIter) unlinkAndNext() *special {
    	cur := i.s
    	i.s = cur.next
    	*i.pprev = i.s
    	return cur
    }
    
    // freeSpecial performs any cleanup on special s and deallocates it.
    // s must already be unlinked from the specials list.
    func freeSpecial(s *special, p unsafe.Pointer, size uintptr) {
    	switch s.kind {
    	case _KindSpecialFinalizer:
    		sf := (*specialfinalizer)(unsafe.Pointer(s))
    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