Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 5 of 5 for ifacedata (0.1 sec)

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

    	f.Offset = offset
    	return f
    }
    
    // ifaceData loads the data field from an interface.
    // The concrete type must be known to have type t.
    // It follows the pointer if !IsDirectIface(t).
    func ifaceData(pos src.XPos, n ir.Node, t *types.Type) ir.Node {
    	if t.IsInterface() {
    		base.Fatalf("ifaceData interface: %v", t)
    	}
    	ptr := ir.NewUnaryExpr(pos, ir.OIDATA, 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. test/escape_reflect.go

    	v := reflect.ValueOf(x)
    	return v.Pointer()
    }
    
    func unsafeaddr(x *int) uintptr { // ERROR "leaking param: x$"
    	v := reflect.ValueOf(x).Elem()
    	return v.UnsafeAddr()
    }
    
    func ifacedata(x any) [2]uintptr { // ERROR "moved to heap: x"
    	v := reflect.ValueOf(&x).Elem()
    	return v.InterfaceData()
    }
    
    func can(x int) bool {
    	v := reflect.ValueOf(x) // ERROR "x does not escape"
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 08 18:50:24 UTC 2023
    - 13.1K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/walk/compare.go

    			match := ir.NewBinaryExpr(base.Pos, eq, itabType(tab), rtyp)
    			eqtype = ir.NewLogicalExpr(base.Pos, andor, nonnil, match)
    		}
    		// Check for data equal.
    		eqdata := ir.NewBinaryExpr(base.Pos, eq, ifaceData(n.Pos(), l, r.Type()), r)
    		// Put it all together.
    		expr := ir.NewLogicalExpr(base.Pos, andor, eqtype, eqdata)
    		return finishCompare(n, expr, init)
    	}
    
    	// Must be comparison of array or struct.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 24 21:55:14 UTC 2023
    - 16.2K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/walk/switch.go

    							val = ir.NewBinaryExpr(ncase.Pos(), ir.OMAKEFACE, s.itabName, srcData)
    						}
    					} else {
    						// This case is a concrete type, just read its value out of the interface.
    						val = ifaceData(ncase.Pos(), s.srcName, t)
    					}
    				} else if ncase.List[0].Op() == ir.ODYNAMICTYPE { // single runtime known type
    					dt := ncase.List[0].(*ir.DynamicType)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:34:01 UTC 2024
    - 30.1K bytes
    - Viewed (0)
  5. src/runtime/race_s390x.s

    	MOVD	runtime·racearenaend(SB), R0
    	CMPUBLT	R3, R0, call			// Before racearena end?
    data:
    	MOVD	runtime·racedatastart(SB), R0
    	CMPUBLT	R3, R0, ret			// Before racedata start?
    	MOVD	runtime·racedataend(SB), R0
    	CMPUBGE	R3, R0, ret			// At or after racedata end?
    call:
    	MOVD	g_racectx(g), R2
    	JMP	racecall<>(SB)
    ret:
    	RET
    
    // func runtime·racefuncenter(pc uintptr)
    // Called from instrumented code.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:37:29 UTC 2024
    - 13.1K bytes
    - Viewed (0)
Back to top