Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for backingArrayPtrLen (0.23 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)
  4. src/cmd/compile/internal/walk/convert.go

    		// slicerunetostring(*[32]byte, []rune) string
    		return mkcall("slicerunetostring", n.Type(), init, a, n.X)
    	}
    	// slicebytetostring(*[32]byte, ptr *byte, n int) string
    	n.X = cheapExpr(n.X, init)
    	ptr, len := backingArrayPtrLen(n.X)
    	return mkcall("slicebytetostring", n.Type(), init, a, ptr, len)
    }
    
    // walkBytesToStringTemp walks an OBYTES2STRTMP node.
    func walkBytesToStringTemp(n *ir.ConvExpr, init *ir.Nodes) ir.Node {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 09 17:28:22 UTC 2023
    - 18.2K bytes
    - Viewed (0)
Back to top