Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 25 for efaceeq (0.13 sec)

  1. src/runtime/alg.go

    }
    func interequal(p, q unsafe.Pointer) bool {
    	x := *(*iface)(p)
    	y := *(*iface)(q)
    	return x.tab == y.tab && ifaceeq(x.tab, x.data, y.data)
    }
    func nilinterequal(p, q unsafe.Pointer) bool {
    	x := *(*eface)(p)
    	y := *(*eface)(q)
    	return x._type == y._type && efaceeq(x._type, x.data, y.data)
    }
    func efaceeq(t *_type, x, y unsafe.Pointer) bool {
    	if t == nil {
    		return true
    	}
    	eq := t.Equal
    	if eq == nil {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 13.6K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/typecheck/_builtin/runtime.go

    // interface switches
    func interfaceSwitch(s *byte, t *byte) (int, *byte)
    
    // interface equality. Type/itab pointers are already known to be equal, so
    // we only need to pass one.
    func ifaceeq(tab *uintptr, x, y unsafe.Pointer) (ret bool)
    func efaceeq(typ *uintptr, x, y unsafe.Pointer) (ret bool)
    
    // panic for various rangefunc iterator errors
    func panicrangestate(state int)
    
    // defer in range over func
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 21 21:08:03 UTC 2024
    - 10.6K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/typecheck/builtin.go

    	{"assertE2I2", funcTag, 67},
    	{"panicdottypeE", funcTag, 68},
    	{"panicdottypeI", funcTag, 68},
    	{"panicnildottype", funcTag, 69},
    	{"typeAssert", funcTag, 67},
    	{"interfaceSwitch", funcTag, 70},
    	{"ifaceeq", funcTag, 72},
    	{"efaceeq", funcTag, 72},
    	{"panicrangestate", funcTag, 73},
    	{"deferrangefunc", funcTag, 74},
    	{"rand32", funcTag, 75},
    	{"makemap64", funcTag, 77},
    	{"makemap", funcTag, 78},
    	{"makemap_small", funcTag, 79},
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 21 21:08:03 UTC 2024
    - 16.2K bytes
    - Viewed (0)
  4. src/runtime/error.go

    func printanycustomtype(i any) {
    	eface := efaceOf(&i)
    	typestring := toRType(eface._type).string()
    
    	switch eface._type.Kind_ {
    	case abi.String:
    		print(typestring, `("`)
    		printindented(*(*string)(eface.data))
    		print(`")`)
    	case abi.Bool:
    		print(typestring, "(", *(*bool)(eface.data), ")")
    	case abi.Int:
    		print(typestring, "(", *(*int)(eface.data), ")")
    	case abi.Int8:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 19:10:41 UTC 2024
    - 9.9K bytes
    - Viewed (0)
  5. src/runtime/mfinal.go

    					ityp := (*interfacetype)(unsafe.Pointer(f.fint))
    					// set up with empty interface
    					(*eface)(r)._type = &f.ot.Type
    					(*eface)(r).data = f.arg
    					if len(ityp.Methods) != 0 {
    						// convert to interface with methods
    						// this conversion is guaranteed to succeed - we checked in SetFinalizer
    						(*iface)(r).tab = assertE2I(ityp, (*eface)(r)._type)
    					}
    				default:
    					throw("bad kind in runfinq")
    				}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 01:56:56 UTC 2024
    - 19K bytes
    - Viewed (0)
  6. src/runtime/hash_test.go

    	return "int64"
    }
    
    type EfaceKey struct {
    	i any
    }
    
    func (k *EfaceKey) clear() {
    	k.i = nil
    }
    func (k *EfaceKey) random(r *rand.Rand) {
    	k.i = uint64(r.Int63())
    }
    func (k *EfaceKey) bits() int {
    	// use 64 bits. This tests inlined interfaces
    	// on 64-bit targets and indirect interfaces on
    	// 32-bit targets.
    	return 64
    }
    func (k *EfaceKey) flipBit(i int) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 06 17:50:18 UTC 2024
    - 18.4K bytes
    - Viewed (0)
  7. src/runtime/iface.go

    	stringEface any = stringInterfacePtr("")
    	sliceEface  any = sliceInterfacePtr(nil)
    
    	uint16Type *_type = efaceOf(&uint16Eface)._type
    	uint32Type *_type = efaceOf(&uint32Eface)._type
    	uint64Type *_type = efaceOf(&uint64Eface)._type
    	stringType *_type = efaceOf(&stringEface)._type
    	sliceType  *_type = efaceOf(&sliceEface)._type
    )
    
    // The conv and assert functions below do very similar things.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 22.5K bytes
    - Viewed (0)
  8. src/runtime/heapdump.go

    	}
    	for p := gp._panic; p != nil; p = p.link {
    		dumpint(tagPanic)
    		dumpint(uint64(uintptr(unsafe.Pointer(p))))
    		dumpint(uint64(uintptr(unsafe.Pointer(gp))))
    		eface := efaceOf(&p.arg)
    		dumpint(uint64(uintptr(unsafe.Pointer(eface._type))))
    		dumpint(uint64(uintptr(eface.data)))
    		dumpint(0) // was p->defer, no longer recorded
    		dumpint(uint64(uintptr(unsafe.Pointer(p.link))))
    	}
    }
    
    func dumpgs() {
    	assertWorldStopped()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 04:07:57 UTC 2024
    - 17.6K bytes
    - Viewed (0)
  9. src/runtime/runtime-gdb.py

    		# "0x429d6c <runtime.gopark+284>", so
    		# chop at first space.
    		pc = int(str(pc).split(None, 1)[0], 16)
    	return pc
    
    
    #
    #  For reference, this is what we're trying to do:
    #  eface: p *(*(struct 'runtime.rtype'*)'main.e'->type_->data)->string
    #  iface: p *(*(struct 'runtime.rtype'*)'main.s'->tab->Type->data)->string
    #
    # interface types can't be recognized by their name, instead we check
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 10 12:59:20 UTC 2023
    - 15.4K bytes
    - Viewed (0)
  10. src/internal/reflectlite/value.go

    // It returns the zero Value if v is nil.
    func (v Value) Elem() Value {
    	k := v.kind()
    	switch k {
    	case abi.Interface:
    		var eface any
    		if v.typ().NumMethod() == 0 {
    			eface = *(*any)(v.ptr)
    		} else {
    			eface = (any)(*(*interface {
    				M()
    			})(v.ptr))
    		}
    		x := unpackEface(eface)
    		if x.flag != 0 {
    			x.flag |= v.flag.ro()
    		}
    		return x
    	case abi.Pointer:
    		ptr := v.ptr
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 07 17:01:54 UTC 2024
    - 13.6K bytes
    - Viewed (0)
Back to top