- Sort Score
- Result 10 results
- Languages All
Results 21 - 30 of 56 for ITab (0.33 sec)
-
src/cmd/compile/internal/reflectdata/helpers.go
} // ConvIfaceTypeWord asserts that n is conversion to interface type, // and returns an expression that yields the *runtime._type or // *runtime.itab value necessary for implementing the conversion. // // - *runtime._type for the destination type, for I2I conversions // - *runtime.itab, for T2I conversions // - *runtime._type for the source type, for T2E conversions func ConvIfaceTypeWord(pos src.XPos, n *ir.ConvExpr) ir.Node {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Sep 12 04:50:32 UTC 2023 - 7.1K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/decompose.go
ptrType := v.Block.Func.Config.Types.BytePtr itab := v.Block.NewValue0(v.Pos, OpPhi, uintptrType) data := v.Block.NewValue0(v.Pos, OpPhi, ptrType) for _, a := range v.Args { itab.AddArg(a.Block.NewValue1(v.Pos, OpITab, uintptrType, a)) data.AddArg(a.Block.NewValue1(v.Pos, OpIData, ptrType, a)) } v.reset(OpIMake) v.AddArg(itab) v.AddArg(data) } func decomposeUser(f *Func) {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Aug 23 21:22:15 UTC 2022 - 13.4K 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/cmd/link/internal/ld/decodesym.go
func decodetypeGcprogShlib(ctxt *Link, data []byte) uint64 { return decodeInuxi(ctxt.Arch, data[2*int32(ctxt.Arch.PtrSize)+8+1*int32(ctxt.Arch.PtrSize):], ctxt.Arch.PtrSize) } // decodeItabType returns the itab.Type field from an itab. func decodeItabType(ldr *loader.Loader, arch *sys.Arch, symIdx loader.Sym) loader.Sym { relocs := ldr.Relocs(symIdx) return decodeRelocSym(ldr, symIdx, &relocs, int32(abi.ITabTypeOff(arch.PtrSize)))
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Apr 02 16:25:18 UTC 2024 - 9.9K bytes - Viewed (0) -
src/cmd/compile/internal/staticinit/sched.go
var itab *ir.AddrExpr if typ.IsEmptyInterface() { itab = reflectdata.TypePtrAt(base.Pos, val.Type()) } else { itab = reflectdata.ITabAddrAt(base.Pos, val.Type(), typ) } // Create a copy of l to modify while we emit data. // Emit itab, advance offset. staticdata.InitAddr(l, loff, itab.X.(*ir.LinksymOffsetExpr).Linksym) // Emit data.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Apr 02 17:16:14 UTC 2024 - 30.7K bytes - Viewed (0) -
src/cmd/compile/internal/typecheck/subr.go
// c. at least one is a gcshape type. // For assignable but different non-empty interface types, // we want to recompute the itab. Recomputing the itab ensures // that itabs are unique (thus an interface with a compile-time // type I has an itab with interface type I). if types.Identical(src.Underlying(), dst.Underlying()) { if src.IsEmptyInterface() { // Conversion between two empty interfaces
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Oct 05 19:45:58 UTC 2023 - 20.2K bytes - Viewed (0) -
src/runtime/runtime-gdb.py
# fields to python attributes in gdb.py isn't complete: you can't test # for presence other than by trapping. def is_iface(val): try: return str(val['tab'].type) == "struct runtime.itab *" and str(val['data'].type) == "void *" except gdb.error: pass def is_eface(val): try: return str(val['_type'].type) == "struct runtime._type *" and str(val['data'].type) == "void *"
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 10 12:59:20 UTC 2023 - 15.4K bytes - Viewed (0) -
src/cmd/compile/internal/walk/expr.go
// walkDynamicDotType walks an ODYNAMICDOTTYPE or ODYNAMICDOTTYPE2 node. func walkDynamicDotType(n *ir.DynamicTypeAssertExpr, init *ir.Nodes) ir.Node { n.X = walkExpr(n.X, init) n.RType = walkExpr(n.RType, init) n.ITab = walkExpr(n.ITab, init) // Convert to non-dynamic if we can. if n.RType != nil && n.RType.Op() == ir.OADDR { addr := n.RType.(*ir.AddrExpr) if addr.X.Op() == ir.OLINKSYMOFFSET {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 04 17:34:01 UTC 2024 - 27.6K 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)