Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for typePointersOf (0.16 sec)

  1. src/runtime/mbitmap.go

    //
    //go:nosplit
    func (span *mspan) typePointersOf(addr, size uintptr) typePointers {
    	base := span.objBase(addr)
    	tp := span.typePointersOfUnchecked(base)
    	if base == addr && size == span.elemsize {
    		return tp
    	}
    	return tp.fastForward(addr-tp.addr, addr+size)
    }
    
    // typePointersOfUnchecked is like typePointersOf, but assumes addr is the base
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 00:18:55 UTC 2024
    - 60K bytes
    - Viewed (0)
  2. src/runtime/cgocheck.go

    		// Fortunately we have the type information.
    		systemstack(func() {
    			cgoCheckUsingType(typ, src, off, size)
    		})
    		return
    	}
    
    	// src must be in the regular heap.
    	tp := s.typePointersOf(uintptr(src), size)
    	for {
    		var addr uintptr
    		if tp, addr = tp.next(uintptr(src) + size); addr == 0 {
    			break
    		}
    		v := *(*unsafe.Pointer)(unsafe.Pointer(addr))
    		if cgoIsGoPointer(v) && !isPinned(v) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 04:07:57 UTC 2024
    - 7.6K bytes
    - Viewed (0)
  3. src/runtime/heapdump.go

    		if p == nil {
    			throw("heapdump: out of memory")
    		}
    		tmpbuf = (*[1 << 30]byte)(p)[:n]
    	}
    	// Convert heap bitmap to pointer bitmap.
    	clear(tmpbuf[:nptr/8+1])
    	s := spanOf(p)
    	tp := s.typePointersOf(p, size)
    	for {
    		var addr uintptr
    		if tp, addr = tp.next(p + size); addr == 0 {
    			break
    		}
    		i := (addr - p) / goarch.PtrSize
    		tmpbuf[i/8] |= 1 << (i % 8)
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 04:07:57 UTC 2024
    - 17.6K bytes
    - Viewed (0)
Back to top