- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 24 for ITab (0.03 sec)
-
src/runtime/iface.go
} t.add(m) } // add adds the given itab to itab table t. // itabLock must be held. func (t *itabTableType) add(m *itab) { // See comment in find about the probe sequence. // Insert new itab in the first empty spot in the probe sequence. mask := t.size - 1 h := itabHashFunc(m.Inter, m.Type) & mask for i := uintptr(1); ; i++ { p := (**itab)(add(unsafe.Pointer(&t.entries), h*goarch.PtrSize)) m2 := *p
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 29 17:58:53 UTC 2024 - 22.5K bytes - Viewed (0) -
src/internal/abi/iface.go
package abi import "unsafe" // The first word of every non-empty interface type contains an *ITab. // It records the underlying concrete type (Type), the interface type it // is implementing (Inter), and some ancillary information. // // allocated in non-garbage-collected memory type ITab struct { Inter *InterfaceType Type *Type Hash uint32 // copy of Type.Hash. Used for type switches.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed Apr 17 21:09:59 UTC 2024 - 895 bytes - Viewed (0) -
src/cmd/cgo/internal/testshared/testdata/depBase/dep.go
var V int = 1 var HasMask []string = []string{"hi"} type HasProg struct { array [1024]*byte } type Dep struct { X int } func (d *Dep) Method() int { // This code below causes various go.itab.* symbols to be generated in // the shared library. Similar code in ../exe/exe.go results in // exercising https://golang.org/issues/17594 reflect.TypeOf(os.Stdout).Elem() return 10 } func F() int {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 14:52:41 UTC 2024 - 1K bytes - Viewed (0) -
src/cmd/link/internal/ld/deadcode.go
rs := r.Sym() if d.ldr.IsItab(rs) { // This relocation can also point at an itab, in which case it // means "the Type field of that itab". rs = decodeItabType(d.ldr, d.ctxt.Arch, rs) } if !d.ldr.IsGoType(rs) && !d.ctxt.linkShared { panic(fmt.Sprintf("R_USEIFACE in %s references %s which is not a type or itab", d.ldr.SymName(symIdx), d.ldr.SymName(rs))) } if !d.ldr.AttrUsedInIface(rs) {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 14:52:41 UTC 2024 - 19K bytes - Viewed (0) -
src/cmd/compile/internal/ssagen/ssa.go
s.startBlock(bOk) // nonempty -> empty // Need to load type from itab off := s.newValue1I(ssa.OpOffPtr, byteptr, rttype.ITab.OffsetOf("Type"), itab) s.vars[typVar] = s.load(byteptr, off) s.endBlock() // itab is nil, might as well use that as the nil result. s.startBlock(bFail) s.vars[typVar] = itab s.endBlock() // Merge point. bEnd := s.f.NewBlock(ssa.BlockPlain)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Jun 10 19:44:43 UTC 2024 - 284.9K bytes - Viewed (0) -
src/runtime/mfinal.go
case fint.Kind_&abi.KindMask == abi.Interface: ityp := (*interfacetype)(unsafe.Pointer(fint)) if len(ityp.Methods) == 0 { // ok - satisfies empty interface goto okarg } if itab := assertE2I2(ityp, efaceOf(&obj)._type); itab != nil { goto okarg } } throw("runtime.SetFinalizer: cannot pass " + toRType(etyp).string() + " to finalizer " + toRType(ftyp).string()) okarg:
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 01:56:56 UTC 2024 - 19K bytes - Viewed (0) -
src/runtime/lockrank.go
lockRankSudog: "sudog", lockRankTimers: "timers", lockRankTimer: "timer", lockRankNetpollInit: "netpollInit", lockRankRoot: "root", lockRankItab: "itab", lockRankReflectOffs: "reflectOffs", lockRankUserArenaState: "userArenaState", lockRankTraceBuf: "traceBuf", lockRankTraceStrings: "traceStrings", lockRankFin: "fin",
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 08 17:47:01 UTC 2024 - 19.9K bytes - Viewed (0) -
src/runtime/mklockrank.go
# Channels NONE < notifyList; hchan, notifyList < sudog; hchan, pollDesc, wakeableSleep < timers; timers, timerSend < timer < netpollInit; # Semaphores NONE < root; # Itabs NONE < itab < reflectOffs; # User arena state NONE < userArenaState; # Tracing without a P uses a global trace buffer. scavenge # Above TRACEGLOBAL can emit a trace event without a P. < TRACEGLOBAL
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 08 17:47:01 UTC 2024 - 9.1K bytes - Viewed (0) -
src/cmd/compile/internal/typecheck/_builtin/runtime.go
func panicnildottype(want *byte) func typeAssert(s *byte, typ *byte) *byte // 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)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue May 21 21:08:03 UTC 2024 - 10.6K bytes - Viewed (0) -
src/cmd/cgo/internal/testplugin/plugin_test.go
goCmd(t, "build", "-buildmode=plugin", "./iface_b") goCmd(t, "build", "-o", "iface.exe", "./iface") run(t, "./iface.exe") } func TestIssue18676(t *testing.T) { // make sure we don't add the same itab twice. // The buggy code hangs forever, so use a timeout to check for that. globalSkip(t) goCmd(t, "build", "-buildmode=plugin", "-o", "plugin.so", "./issue18676/plugin.go")
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon May 20 15:32:53 UTC 2024 - 12.3K bytes - Viewed (0)