Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 180 for nilcheck (0.16 sec)

  1. src/cmd/compile/internal/ssa/schedule.go

    // otherwise v is ordered before s.
    // Specifically, values are ordered like
    //
    //	store1
    //	NilCheck that depends on store1
    //	other values that depends on store1
    //	store2
    //	NilCheck that depends on store2
    //	other values that depends on store2
    //	...
    //
    // The order of non-store and non-NilCheck values are undefined
    // (not necessarily dependency order). This should be cheaper
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 08 15:53:17 UTC 2024
    - 16.4K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/check.go

    				}
    			case OpNilCheck:
    				// nil checks have pointer type before scheduling, and
    				// void type after scheduling.
    				if f.scheduled {
    					if v.Uses != 0 {
    						f.Fatalf("nilcheck must have 0 uses %s", v.Uses)
    					}
    					if !v.Type.IsVoid() {
    						f.Fatalf("nilcheck must have void type %s", v.Type.String())
    					}
    				} else {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 16:41:23 UTC 2024
    - 17.6K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/compile.go

    	// checkLower must run after lowering & subsequent dead code elim
    	{"lower", "checkLower"},
    	{"lowered deadcode", "checkLower"},
    	{"late lower", "checkLower"},
    	// late nilcheck needs instructions to be scheduled.
    	{"schedule", "late nilcheck"},
    	// flagalloc needs instructions to be scheduled.
    	{"schedule", "flagalloc"},
    	// regalloc needs flags to be allocated first.
    	{"flagalloc", "regalloc"},
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 22 14:55:18 UTC 2024
    - 18.6K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/value.go

    // if its use count drops to 0.
    func (v *Value) removeable() bool {
    	if v.Type.IsVoid() {
    		// Void ops (inline marks), must stay.
    		return false
    	}
    	if opcodeTable[v.Op].nilCheck {
    		// Nil pointer checks must stay.
    		return false
    	}
    	if v.Type.IsMemory() {
    		// We don't need to preserve all memory ops, but we do need
    		// to keep calls at least (because they might have
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 03 16:40:22 UTC 2024
    - 16.7K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/op.go

    	needIntTemp       bool      // need a temporary free integer register
    	call              bool      // is a function call
    	tailCall          bool      // is a tail call
    	nilCheck          bool      // this op is a nil check on arg0
    	faultOnNilArg0    bool      // this op will fault if arg0 is nil (and aux encodes a small offset)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 22 15:29:10 UTC 2024
    - 18.7K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/_gen/genericOps.go

    	{name: "IsInBounds", argLength: 2, typ: "Bool"},      // 0 <= arg0 < arg1. arg1 is guaranteed >= 0.
    	{name: "IsSliceInBounds", argLength: 2, typ: "Bool"}, // 0 <= arg0 <= arg1. arg1 is guaranteed >= 0.
    	{name: "NilCheck", argLength: 2, nilCheck: true},     // arg0=ptr, arg1=mem. Panics if arg0 is nil. Returns the ptr unmodified.
    
    	// Pseudo-ops
    	{name: "GetG", argLength: 1, zeroWidth: true}, // runtime.getg() (read g pointer). arg0=mem
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 42.6K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/_gen/generic.rules

    	&& isConstZero(x)
    	&& isSameCall(call.Aux, "runtime.newobject")
    	=> mem
    
    (NilCheck ptr:(SelectN [0] call:(StaticLECall _ _)) _)
    	&& isSameCall(call.Aux, "runtime.newobject")
    	&& warnRule(fe.Debug_checknil(), v, "removed nil check")
    	=> ptr
    
    (NilCheck ptr:(OffPtr (SelectN [0] call:(StaticLECall _ _))) _)
    	&& isSameCall(call.Aux, "runtime.newobject")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 16 22:21:05 UTC 2024
    - 135.3K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssagen/ssa.go

    		}
    		return p
    	}
    	p = s.nilCheck(p)
    	return p
    }
    
    // nilCheck generates nil pointer checking code.
    // Used only for automatically inserted nil checks,
    // not for user code like 'x != nil'.
    // Returns a "definitely not nil" copy of x to ensure proper ordering
    // of the uses of the post-nilcheck pointer.
    func (s *state) nilCheck(ptr *ssa.Value) *ssa.Value {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 284.9K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssa/_gen/PPC64Ops.go

    		//arg0=ptr,arg1=mem, returns void.  Faults if ptr is nil.
    		{name: "LoweredNilCheck", argLength: 2, reg: regInfo{inputs: []regMask{gp | sp | sb}, clobbers: tmp}, clobberFlags: true, nilCheck: true, faultOnNilArg0: true},
    		// Round ops to block fused-multiply-add extraction.
    		{name: "LoweredRound32F", argLength: 1, reg: fp11, resultInArg0: true, zeroWidth: true},
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 19:59:38 UTC 2024
    - 43.8K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssa/_gen/ARM64Ops.go

    		// pseudo-ops
    		{name: "LoweredNilCheck", argLength: 2, reg: regInfo{inputs: []regMask{gpg}}, nilCheck: true, faultOnNilArg0: true}, // panic if arg0 is nil.  arg1=mem.
    
    		{name: "Equal", argLength: 1, reg: readflags},            // bool, true flags encode x==y false otherwise.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 58.8K bytes
    - Viewed (0)
Back to top