Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 9 of 9 for PtrBytes (0.1 sec)

  1. src/runtime/cgocheck.go

    //
    //go:nosplit
    //go:nowritebarrier
    func cgoCheckTypedBlock(typ *_type, src unsafe.Pointer, off, size uintptr) {
    	// Anything past typ.PtrBytes is not a pointer.
    	if typ.PtrBytes <= off {
    		return
    	}
    	if ptrdataSize := typ.PtrBytes - off; size > ptrdataSize {
    		size = ptrdataSize
    	}
    
    	if typ.Kind_&abi.KindGCProg == 0 {
    		cgoCheckBits(src, typ.GCData, off, size)
    		return
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 04:07:57 UTC 2024
    - 7.6K bytes
    - Viewed (0)
  2. src/runtime/mbarrier.go

    		// This always copies a full value of type typ so it's safe
    		// to pass typ along as an optimization. See the comment on
    		// bulkBarrierPreWrite.
    		bulkBarrierPreWrite(uintptr(dst), uintptr(src), typ.PtrBytes, typ)
    	}
    	// There's a race here: if some other goroutine can write to
    	// src, it may change some pointer in src after we've
    	// performed the write barrier but before we perform the
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 15.7K bytes
    - Viewed (0)
  3. src/runtime/mbitmap.go

    			})
    			// Write a dummy _type in the new space.
    			//
    			// We only need to write size, PtrBytes, and GCData, since that's all
    			// the GC cares about.
    			gctyp = (*_type)(unsafe.Pointer(progSpan.base()))
    			gctyp.Size_ = typ.Size_
    			gctyp.PtrBytes = typ.PtrBytes
    			gctyp.GCData = (*byte)(add(unsafe.Pointer(progSpan.base()), heapBitsOff))
    			gctyp.TFlag = abi.TFlagUnrolledBitmap
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 00:18:55 UTC 2024
    - 60K bytes
    - Viewed (0)
  4. src/runtime/tracetype.go

    		w.byte(byte(traceAllocFreeTypesBatch))
    	}
    
    	// Emit type.
    	w.varint(uint64(node.id))
    	w.varint(uint64(uintptr(unsafe.Pointer(typ))))
    	w.varint(uint64(typ.Size()))
    	w.varint(uint64(typ.PtrBytes))
    	w.varint(uint64(len(typName)))
    	w.stringData(typName)
    
    	// Recursively walk all child nodes.
    	for i := range node.children {
    		child := node.children[i].Load()
    		if child == nil {
    			continue
    		}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 20:31:27 UTC 2024
    - 2.3K bytes
    - Viewed (0)
  5. src/runtime/arena.go

    	h = h.pad(s, typ.Size_-typ.PtrBytes)
    	h.flush(s, uintptr(ptr), typ.Size_)
    
    	if typ.Kind_&abi.KindGCProg != 0 {
    		// Zero out temporary ptrmask buffer inside object.
    		memclrNoHeapPointers(ptr, (gcProgBits+7)/8)
    	}
    
    	// Update the PtrBytes value in the type information. After this
    	// point, the GC will observe the new bitmap.
    	s.largeType.PtrBytes = uintptr(ptr) - base + typ.PtrBytes
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 17:44:56 UTC 2024
    - 37.9K bytes
    - Viewed (0)
  6. src/reflect/type.go

    	if length > 0 && typ.Pointers() {
    		array.PtrBytes = typ.Size_*uintptr(length-1) + typ.PtrBytes
    	}
    	array.Align_ = typ.Align_
    	array.FieldAlign_ = typ.FieldAlign_
    	array.Len = uintptr(length)
    	array.Slice = &(SliceOf(elem).(*rtype).t)
    
    	switch {
    	case !typ.Pointers() || array.Size_ == 0:
    		// No pointers.
    		array.GCData = nil
    		array.PtrBytes = 0
    
    	case length == 1:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 85.5K bytes
    - Viewed (0)
  7. src/internal/abi/type.go

    // or the functions in compiletype.go to access this type instead.
    // (TODO: this admonition applies to every type in this package.
    // Put it in some shared location?)
    type Type struct {
    	Size_       uintptr
    	PtrBytes    uintptr // number of (prefix) bytes in the type that can contain pointers
    	Hash        uint32  // hash of type; avoids computation in hash tables
    	TFlag       TFlag   // extra type information flags
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Apr 17 21:09:59 UTC 2024
    - 21.8K bytes
    - Viewed (0)
  8. src/runtime/slice.go

    			// from and to only ever refer to memory representing whole values of
    			// type et. See the comment on bulkBarrierPreWrite.
    			bulkBarrierPreWriteSrcOnly(uintptr(p), uintptr(oldPtr), lenmem-et.Size_+et.PtrBytes, et)
    		}
    	}
    	memmove(p, oldPtr, lenmem)
    
    	return slice{p, newLen, newcap}
    }
    
    // nextslicecap computes the next appropriate slice length.
    func nextslicecap(newLen, oldCap int) int {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 16:25:21 UTC 2024
    - 12.2K bytes
    - Viewed (0)
  9. src/runtime/heapdump.go

    		dwrite(unsafe.Pointer(unsafe.StringData(pkgpath)), uintptr(len(pkgpath)))
    		dwritebyte('.')
    		dwrite(unsafe.Pointer(unsafe.StringData(name)), uintptr(len(name)))
    	}
    	dumpbool(t.Kind_&abi.KindDirectIface == 0 || t.PtrBytes != 0)
    }
    
    // dump an object.
    func dumpobj(obj unsafe.Pointer, size uintptr, bv bitvector) {
    	dumpint(tagObject)
    	dumpint(uint64(uintptr(obj)))
    	dumpmemrange(obj, size)
    	dumpfields(bv)
    }
    
    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