Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 38 for efaceeq (0.12 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/internal/goobj/builtinlist.go

    	{"runtime.assertE2I2", 1},
    	{"runtime.panicdottypeE", 1},
    	{"runtime.panicdottypeI", 1},
    	{"runtime.panicnildottype", 1},
    	{"runtime.typeAssert", 1},
    	{"runtime.interfaceSwitch", 1},
    	{"runtime.ifaceeq", 1},
    	{"runtime.efaceeq", 1},
    	{"runtime.panicrangestate", 1},
    	{"runtime.deferrangefunc", 1},
    	{"runtime.rand32", 1},
    	{"runtime.makemap64", 1},
    	{"runtime.makemap", 1},
    	{"runtime.makemap_small", 1},
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 21 21:08:03 UTC 2024
    - 7.4K bytes
    - Viewed (0)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. src/sync/poolqueue.go

    	// otherwise. A slot is still in use until *both* the tail
    	// index has moved beyond it and typ has been set to nil. This
    	// is set to nil atomically by the consumer and read
    	// atomically by the producer.
    	vals []eface
    }
    
    type eface struct {
    	typ, val unsafe.Pointer
    }
    
    const dequeueBits = 32
    
    // dequeueLimit is the maximum size of a poolDequeue.
    //
    // This must be at most (1<<dequeueBits)/2 because detecting fullness
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Feb 26 18:12:29 UTC 2024
    - 8.3K bytes
    - Viewed (0)
Back to top