Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 13 for PtrBytes (0.18 sec)

  1. src/cmd/compile/internal/types/size.go

    		t.floatRegs = 2
    		t.setAlg(ACPLX128)
    
    	case TPTR:
    		w = int64(PtrSize)
    		t.intRegs = 1
    		CheckSize(t.Elem())
    		t.ptrBytes = int64(PtrSize) // See PtrDataSize
    
    	case TUNSAFEPTR:
    		w = int64(PtrSize)
    		t.intRegs = 1
    		t.ptrBytes = int64(PtrSize)
    
    	case TINTER: // implemented as 2 pointers
    		w = 2 * int64(PtrSize)
    		t.align = uint8(PtrSize)
    		t.intRegs = 2
    		expandiface(t)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 15K bytes
    - Viewed (0)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. src/reflect/export_test.go

    	}
    	if ft.Kind_&abi.KindGCProg != 0 {
    		panic("can't handle gc programs")
    	}
    
    	// Expand frame type's GC bitmap into byte-map.
    	ptrs = ft.Pointers()
    	if ptrs {
    		nptrs := ft.PtrBytes / goarch.PtrSize
    		gcdata := ft.GcSlice(0, (nptrs+7)/8)
    		for i := uintptr(0); i < nptrs; i++ {
    			gc = append(gc, gcdata[i/8]>>(i%8)&1)
    		}
    	}
    	return
    }
    
    func TypeLinks() []string {
    	var r []string
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 02 15:10:48 UTC 2024
    - 3.8K bytes
    - Viewed (0)
  8. 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)
  9. src/runtime/stkframe.go

    	}
    	methodValueCallFrameObjs[0] = stackObjectRecord{
    		off:       -int32(alignUp(abiRegArgsType.Size_, 8)), // It's always the highest address local.
    		size:      int32(abiRegArgsType.Size_),
    		_ptrdata:  int32(abiRegArgsType.PtrBytes),
    		gcdataoff: uint32(uintptr(unsafe.Pointer(abiRegArgsType.GCData)) - mod.rodata),
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 02 15:10:48 UTC 2024
    - 9.9K bytes
    - Viewed (0)
  10. 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)
Back to top