Search Options

Results per page
Sort
Preferred Languages
Advance

Results 21 - 30 of 49 for nilCheck (0.14 sec)

  1. 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)
  2. src/cmd/compile/internal/ssa/_gen/MIPSOps.go

    				clobbers: buildReg("R1 R2"),
    			},
    			faultOnNilArg0: true,
    			faultOnNilArg1: true,
    		},
    
    		// pseudo-ops
    		{name: "LoweredNilCheck", argLength: 2, reg: regInfo{inputs: []regMask{gpg}}, nilCheck: true, faultOnNilArg0: true}, // panic if arg0 is nil.  arg1=mem.
    
    		{name: "FPFlagTrue", argLength: 1, reg: readflags},  // bool, true if FP flag is true
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 24 14:43:03 UTC 2023
    - 24K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/_gen/LOONG64Ops.go

    		// pseudo-ops
    		{name: "LoweredNilCheck", argLength: 2, reg: regInfo{inputs: []regMask{gpg}}, nilCheck: true, faultOnNilArg0: true}, // panic if arg0 is nil.  arg1=mem.
    
    		{name: "FPFlagTrue", argLength: 1, reg: readflags},  // bool, true if FP flag is true
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 21 19:04:19 UTC 2023
    - 25.2K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/_gen/MIPS64Ops.go

    		// pseudo-ops
    		{name: "LoweredNilCheck", argLength: 2, reg: regInfo{inputs: []regMask{gpg}}, nilCheck: true, faultOnNilArg0: true}, // panic if arg0 is nil.  arg1=mem.
    
    		{name: "FPFlagTrue", argLength: 1, reg: readflags},  // bool, true if FP flag is true
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 24 03:36:31 UTC 2023
    - 25.5K bytes
    - Viewed (0)
  5. 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)
  6. src/cmd/compile/internal/ssa/_gen/RISCV64Ops.go

    		{name: "LoweredAtomicOr32", argLength: 3, reg: gpatomic, asm: "AMOORW", faultOnNilArg0: true, hasSideEffects: true},
    
    		// Lowering pass-throughs
    		{name: "LoweredNilCheck", argLength: 2, faultOnNilArg0: true, nilCheck: true, reg: regInfo{inputs: []regMask{gpspMask}}}, // arg0=ptr,arg1=mem, returns void.  Faults if ptr is nil.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Mar 07 14:57:07 UTC 2024
    - 30.7K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/x86/ssa.go

    		p.From.Type = obj.TYPE_REG
    		p.From.Reg = x86.REG_AX
    		p.To.Type = obj.TYPE_MEM
    		p.To.Reg = v.Args[0].Reg()
    		ssagen.AddAux(&p.To, v)
    		if logopt.Enabled() {
    			logopt.LogOpt(v.Pos, "nilcheck", "genssa", v.Block.Func.Name)
    		}
    		if base.Debug.Nil != 0 && v.Pos.Line() > 1 { // v.Pos.Line()==1 in generated wrappers
    			base.WarnfAt(v.Pos, "generated nil check")
    		}
    	case ssa.Op386LoweredCtz32:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 24 01:26:58 UTC 2023
    - 26.7K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/s390x/ssa.go

    		p.From.Type = obj.TYPE_MEM
    		p.From.Reg = v.Args[0].Reg()
    		ssagen.AddAux(&p.From, v)
    		p.To.Type = obj.TYPE_REG
    		p.To.Reg = s390x.REGTMP
    		if logopt.Enabled() {
    			logopt.LogOpt(v.Pos, "nilcheck", "genssa", v.Block.Func.Name)
    		}
    		if base.Debug.Nil != 0 && v.Pos.Line() > 1 { // v.Pos.Line()==1 in generated wrappers
    			base.WarnfAt(v.Pos, "generated nil check")
    		}
    	case ssa.OpS390XMVC:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 24 01:26:58 UTC 2023
    - 27.1K bytes
    - Viewed (0)
  9. 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)
  10. test/codegen/memcombine.go

    }
    
    // We want to merge load+op in the first function, but not in the
    // second. See Issue 19595.
    func load_op_merge(p, q *int) {
    	x := *p // amd64:`ADDQ\t\(`
    	*q += x // The combined nilcheck and load would normally have this line number, but we want that combined operation to have the line number of the nil check instead (see #33724).
    }
    func load_op_no_merge(p, q *int) {
    	x := *p
    	for i := 0; i < 10; i++ {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Mar 21 19:45:41 UTC 2024
    - 29.7K bytes
    - Viewed (0)
Back to top