Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 7 of 7 for MapMaxElemBytes (0.22 sec)

  1. src/internal/abi/map.go

    	// Maximum key or elem size to keep inline (instead of mallocing per element).
    	// Must fit in a uint8.
    	// Note: fast map functions cannot handle big elems (bigger than MapMaxElemBytes).
    	MapMaxKeyBytes  = 128
    	MapMaxElemBytes = 128 // Must fit in a uint8.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 22 20:09:01 UTC 2024
    - 719 bytes
    - Viewed (0)
  2. src/cmd/compile/internal/walk/walk.go

    var mapaccess2 = mkmapnames("mapaccess2", "")
    var mapassign = mkmapnames("mapassign", "ptr")
    var mapdelete = mkmapnames("mapdelete", "")
    
    func mapfast(t *types.Type) int {
    	if t.Elem().Size() > abi.MapMaxElemBytes {
    		return mapslow
    	}
    	switch reflectdata.AlgType(t.Key()) {
    	case types.AMEM32:
    		if !t.Key().HasPointers() {
    			return mapfast32
    		}
    		if types.PtrSize == 4 {
    			return mapfast32ptr
    		}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Feb 27 20:56:00 UTC 2024
    - 10.4K bytes
    - Viewed (0)
  3. src/runtime/map.go

    		t.Key.Size_ <= abi.MapMaxKeyBytes && (t.IndirectKey() || t.KeySize != uint8(t.Key.Size_)) {
    		throw("key size wrong")
    	}
    	if t.Elem.Size_ > abi.MapMaxElemBytes && (!t.IndirectElem() || t.ValueSize != uint8(goarch.PtrSize)) ||
    		t.Elem.Size_ <= abi.MapMaxElemBytes && (t.IndirectElem() || t.ValueSize != uint8(t.Elem.Size_)) {
    		throw("elem size wrong")
    	}
    	if t.Key.Align_ > abi.MapBucketCount {
    		throw("key align too big")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 57.6K bytes
    - Viewed (0)
  4. src/runtime/map_test.go

    		if len(k.s) != 1 {
    			t.Errorf("len(k.s) == %d, want 1", len(k.s))
    		}
    	}
    }
    
    func TestMapValues(t *testing.T) {
    	type val struct {
    		s   string
    		pad [128]byte // sizeof(val) > abi.MapMaxElemBytes
    	}
    	m := map[int]val{1: {s: "a"}, 2: {s: "b"}}
    	vals := make([]val, 0, len(m))
    	runtime.MapValues(m, unsafe.Pointer(&vals))
    	for _, v := range vals {
    		if len(v.s) != 1 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:00:11 UTC 2024
    - 33.5K bytes
    - Viewed (0)
  5. src/reflect/type.go

    	}
    	mt.Flags = 0
    	if ktyp.Size_ > abi.MapMaxKeyBytes {
    		mt.KeySize = uint8(goarch.PtrSize)
    		mt.Flags |= 1 // indirect key
    	} else {
    		mt.KeySize = uint8(ktyp.Size_)
    	}
    	if etyp.Size_ > abi.MapMaxElemBytes {
    		mt.ValueSize = uint8(goarch.PtrSize)
    		mt.Flags |= 2 // indirect value
    	} else {
    		mt.MapType.ValueSize = uint8(etyp.Size_)
    	}
    	mt.MapType.BucketSize = uint16(mt.Bucket.Size_)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 85.5K bytes
    - Viewed (0)
  6. src/reflect/value.go

    	// behavior for structs, which allow read but not write
    	// of unexported fields.
    
    	var e unsafe.Pointer
    	if (tt.Key == stringType || key.kind() == String) && tt.Key == key.typ() && tt.Elem.Size() <= abi.MapMaxElemBytes {
    		k := *(*string)(key.ptr)
    		e = mapaccess_faststr(v.typ(), v.pointer(), k)
    	} else {
    		key = key.assignTo("reflect.Value.MapIndex", tt.Key, nil)
    		var k unsafe.Pointer
    		if key.flag&flagIndir != 0 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 21:17:41 UTC 2024
    - 119.9K bytes
    - Viewed (0)
  7. src/cmd/link/internal/ld/dwarf.go

    		// compute size info like hashmap.c does.
    		indirectKey, indirectVal := false, false
    		if keysize > abi.MapMaxKeyBytes {
    			keysize = int64(d.arch.PtrSize)
    			indirectKey = true
    		}
    		if valsize > abi.MapMaxElemBytes {
    			valsize = int64(d.arch.PtrSize)
    			indirectVal = true
    		}
    
    		// Construct type to represent an array of BucketSize keys
    		keyname := d.nameFromDIESym(keytype)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 02 16:25:18 UTC 2024
    - 72.4K bytes
    - Viewed (0)
Back to top