- Sort Score
- Result 10 results
- Languages All
Results 21 - 30 of 39 for optab (0.11 sec)
-
src/cmd/compile/internal/typecheck/expr.go
n.SetType(nil) return n } } return n } // tcITab typechecks an OITAB node. func tcITab(n *ir.UnaryExpr) ir.Node { n.X = Expr(n.X) t := n.X.Type() if t == nil { n.SetType(nil) return n } if !t.IsInterface() { base.Fatalf("OITAB of %v", t) } n.SetType(types.NewPtr(types.Types[types.TUINTPTR])) return n }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Apr 04 14:29:45 UTC 2024 - 23.1K bytes - Viewed (0) -
src/cmd/compile/internal/walk/walk.go
ir.OAND, ir.OANDNOT, ir.OLSH, ir.OOR, ir.ORSH, ir.OXOR, ir.OCOMPLEX, ir.OMAKEFACE, ir.OADDR, ir.OBITNOT, ir.ONOT, ir.OPLUS, ir.OCAP, ir.OIMAG, ir.OLEN, ir.OREAL, ir.OCONVNOP, ir.ODOT, ir.OCFUNC, ir.OIDATA, ir.OITAB, ir.OSPTR, ir.OBYTES2STRTMP, ir.OGETG, ir.OGETCALLERPC, ir.OGETCALLERSP, ir.OSLICEHEADER, ir.OSTRINGHEADER: // ok: operations that don't require function calls. // Expand as needed. } return false
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Feb 27 20:56:00 UTC 2024 - 10.4K 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) { for _, b := range f.Blocks {
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/compile/internal/typecheck/typecheck.go
case ir.OUNSAFESTRINGDATA: n := n.(*ir.UnaryExpr) return tcUnsafeData(n) case ir.OITAB: n := n.(*ir.UnaryExpr) return tcITab(n) case ir.OIDATA: // Whoever creates the OIDATA node must know a priori the concrete type at that moment, // usually by just having checked the OITAB. n := n.(*ir.UnaryExpr) base.Fatalf("cannot typecheck interface data %v", n) panic("unreachable")
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed Mar 20 19:08:34 UTC 2024 - 30.5K bytes - Viewed (0) -
src/cmd/compile/internal/walk/compare.go
// l.tab != nil && l.tab._type == type(r) // // TODO(mdempsky): For non-empty interface comparisons, just // compare against the itab address directly? var eqtype ir.Node tab := ir.NewUnaryExpr(base.Pos, ir.OITAB, l) rtyp := reflectdata.CompareRType(base.Pos, n) if l.Type().IsEmptyInterface() { tab.SetType(types.NewPtr(types.Types[types.TUINT8])) tab.SetTypecheck(1) eqtype = ir.NewBinaryExpr(base.Pos, eq, tab, rtyp)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 24 21:55:14 UTC 2023 - 16.2K bytes - Viewed (0) -
src/cmd/compile/internal/walk/convert.go
// // var res *uint8 // res = (*uint8)(unsafe.Pointer(itab)) // if res != nil { // res = res.type // } // Grab its parts. itab := ir.NewUnaryExpr(base.Pos, ir.OITAB, c) itab.SetType(types.Types[types.TUINTPTR].PtrTo()) itab.SetTypecheck(1) data := ir.NewUnaryExpr(n.Pos(), ir.OIDATA, c)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Oct 09 17:28:22 UTC 2023 - 18.2K bytes - Viewed (0) -
src/cmd/compile/internal/typecheck/stmt.go
// the point of the go/defer statement. if call.Op() == ir.OCALLINTER { iface := as.Lhs[0] init.Append(Stmt(ir.NewUnaryExpr(stmtPos, ir.OCHECKNIL, ir.NewUnaryExpr(iface.Pos(), ir.OITAB, iface)))) } } // Move call into the wrapper function, now that it's safe to // evaluate there. wrapperFn.Body = []ir.Node{call} // Finally, construct a call to the wrapper.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Nov 20 15:10:54 UTC 2023 - 17.8K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/writebarrier.go
v = v.Args[0] } switch v.Op { case OpSP, OpLocalAddr, OpSelectNAddr: // Stack addresses are always safe. return true case OpITab, OpStringPtr, OpGetClosurePtr: // Itabs, string data, and closure fields are // read-only once initialized. return true case OpAddr: vt := v.Aux.(*obj.LSym).Type
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Sep 08 19:09:14 UTC 2023 - 23.5K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/rewritedec.go
return rewriteValuedec_OpComplexImag(v) case OpComplexReal: return rewriteValuedec_OpComplexReal(v) case OpIData: return rewriteValuedec_OpIData(v) case OpIMake: return rewriteValuedec_OpIMake(v) case OpITab: return rewriteValuedec_OpITab(v) case OpLoad: return rewriteValuedec_OpLoad(v) case OpSliceCap: return rewriteValuedec_OpSliceCap(v) case OpSliceLen: return rewriteValuedec_OpSliceLen(v)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Oct 12 00:48:31 UTC 2023 - 24.9K bytes - Viewed (0) -
src/cmd/compile/internal/walk/expr.go
n := n.(*ir.SelectorExpr) return n.FuncName() case ir.OMIN, ir.OMAX: n := n.(*ir.CallExpr) return walkMinMax(n, init) case ir.ONOT, ir.ONEG, ir.OPLUS, ir.OBITNOT, ir.OREAL, ir.OIMAG, ir.OSPTR, ir.OITAB, ir.OIDATA: n := n.(*ir.UnaryExpr) n.X = walkExpr(n.X, init) return n case ir.ODOTMETH, ir.ODOTINTER: n := n.(*ir.SelectorExpr) n.X = walkExpr(n.X, init) return n case ir.OADDR:
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 04 17:34:01 UTC 2024 - 27.6K bytes - Viewed (0)