Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 9 of 9 for TypeLinks (0.32 sec)

  1. src/cmd/link/internal/ld/typelink.go

    		if ldr.IsTypelink(s) {
    			typelinks = append(typelinks, typelinkSortKey{decodetypeStr(ldr, ctxt.Arch, s), s})
    		} else if ldr.IsItab(s) {
    			itabs = append(itabs, s)
    		}
    	}
    	sort.Sort(typelinks)
    
    	tl := ldr.CreateSymForUpdate("runtime.typelink", 0)
    	tl.SetType(sym.STYPELINK)
    	ldr.SetAttrLocal(tl.Sym(), true)
    	tl.SetSize(int64(4 * len(typelinks)))
    	tl.Grow(tl.Size())
    	relocs := tl.AddRelocs(len(typelinks))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Aug 03 21:13:25 UTC 2020
    - 1.9K bytes
    - Viewed (0)
  2. test/fixedbugs/issue22605.go

    // run
    
    // Copyright 2017 The Go Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    // We were picking up a special noalg type from typelinks.
    
    package main
    
    import "reflect"
    
    func f(m map[string]int) int {
    	return m["a"]
    }
    
    func g(m map[[8]string]int) int {
    	t := reflect.ArrayOf(8, reflect.TypeOf(""))
    	a := reflect.New(t).Elem()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 07 22:29:48 UTC 2017
    - 504 bytes
    - Viewed (0)
  3. src/reflect/export_test.go

    		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
    	sections, offset := typelinks()
    	for i, offs := range offset {
    		rodata := sections[i]
    		for _, off := range offs {
    			typ := (*rtype)(resolveTypeOff(rodata, off))
    			r = append(r, typ.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)
  4. src/runtime/type.go

    		}
    
    		if md.typemap == nil {
    			// If any of this module's typelinks match a type from a
    			// prior module, prefer that prior type by adding the offset
    			// to this module's typemap.
    			tm := make(map[typeOff]*_type, len(md.typelinks))
    			pinnedTypemaps = append(pinnedTypemaps, tm)
    			md.typemap = tm
    			for _, tl := range md.typelinks {
    				t := (*_type)(unsafe.Pointer(md.types + uintptr(tl)))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:17:26 UTC 2024
    - 12.7K bytes
    - Viewed (0)
  5. src/runtime/runtime1.go

    //
    //go:linkname reflect_typelinks reflect.typelinks
    func reflect_typelinks() ([]unsafe.Pointer, [][]int32) {
    	modules := activeModules()
    	sections := []unsafe.Pointer{unsafe.Pointer(modules[0].types)}
    	ret := [][]int32{modules[0].typelinks}
    	for _, md := range modules[1:] {
    		sections = append(sections, unsafe.Pointer(md.types))
    		ret = append(ret, md.typelinks)
    	}
    	return sections, ret
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:52:17 UTC 2024
    - 19.3K bytes
    - Viewed (0)
  6. src/reflect/type.go

    			}
    			if tf.Offset != vf.Offset {
    				return false
    			}
    			if tf.Embedded() != vf.Embedded() {
    				return false
    			}
    		}
    		return true
    	}
    
    	return false
    }
    
    // typelinks is implemented in package runtime.
    // It returns a slice of the sections in each module,
    // and a slice of *rtype offsets in each module.
    //
    // The types in each module are sorted by string. That is, the first
    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/cmd/link/internal/ld/symtab.go

    		// except go:buildid which is generated late and not used by the program.
    		addRef("go:buildid")
    	}
    
    	// text section information
    	slice(textsectionmapSym, uint64(nsections))
    
    	// The typelinks slice
    	typelinkSym := ldr.Lookup("runtime.typelink", 0)
    	ntypelinks := uint64(ldr.SymSize(typelinkSym)) / 4
    	slice(typelinkSym, ntypelinks)
    
    	// The itablinks slice
    	itablinkSym := ldr.Lookup("runtime.itablink", 0)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Sep 13 16:29:40 UTC 2023
    - 29.2K bytes
    - Viewed (0)
  8. src/runtime/symtab.go

    	covctrs, ecovctrs     uintptr
    	end, gcdata, gcbss    uintptr
    	types, etypes         uintptr
    	rodata                uintptr
    	gofunc                uintptr // go.func.*
    
    	textsectmap []textsect
    	typelinks   []int32 // offsets from types
    	itablinks   []*itab
    
    	ptab []ptabEntry
    
    	pluginpath string
    	pkghashes  []modulehash
    
    	// This slice records the initializing tasks that need to be
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 40K bytes
    - Viewed (0)
  9. src/reflect/all_test.go

    				t.Errorf("lost x[%d][%d] = %d, want %d", i, j, k, i*n+j)
    			}
    		}
    	}
    }
    
    func TestTypelinksSorted(t *testing.T) {
    	var last string
    	for i, n := range TypeLinks() {
    		if n < last {
    			t.Errorf("typelinks not sorted: %q [%d] > %q [%d]", last, i-1, n, i)
    		}
    		last = n
    	}
    }
    
    func TestFuncOf(t *testing.T) {
    	// check construction and use of type not in binary
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:00:11 UTC 2024
    - 218.8K bytes
    - Viewed (0)
Back to top