Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for backingArrayPtrLen (0.78 sec)

  1. src/cmd/compile/internal/walk/walk.go

    const maxOpenDefers = 8
    
    // backingArrayPtrLen extracts the pointer and length from a slice or string.
    // This constructs two nodes referring to n, so n must be a cheapExpr.
    func backingArrayPtrLen(n ir.Node) (ptr, length ir.Node) {
    	var init ir.Nodes
    	c := cheapExpr(n, &init)
    	if c != n || len(init) != 0 {
    		base.Fatalf("backingArrayPtrLen not cheap: %v", n)
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Feb 27 20:56:00 UTC 2024
    - 10.4K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/walk/assign.go

    		fn := typecheck.LookupRuntime("typedslicecopy", l1.Type().Elem(), l2.Type().Elem())
    		ptr1, len1 := backingArrayPtrLen(cheapExpr(slice, &nodes))
    		ptr2, len2 := backingArrayPtrLen(l2)
    		ncopy = mkcall1(fn, types.Types[types.TINT], &nodes, reflectdata.AppendElemRType(base.Pos, n), ptr1, len1, ptr2, len2)
    	} else if base.Flag.Cfg.Instrumenting && !base.Flag.CompilingRuntime {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 17:09:06 UTC 2024
    - 20.3K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/walk/builtin.go

    		ir.CurFunc.SetWBPos(n.Pos())
    		fn := writebarrierfn("typedslicecopy", n.X.Type().Elem(), n.Y.Type().Elem())
    		n.X = cheapExpr(n.X, init)
    		ptrL, lenL := backingArrayPtrLen(n.X)
    		n.Y = cheapExpr(n.Y, init)
    		ptrR, lenR := backingArrayPtrLen(n.Y)
    		return mkcall1(fn, n.Type(), init, reflectdata.CopyElemRType(base.Pos, n), ptrL, lenL, ptrR, lenR)
    	}
    
    	if runtimecall {
    		// rely on runtime to instrument:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Mar 08 22:35:22 UTC 2024
    - 31.2K bytes
    - Viewed (0)
Back to top