Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 839 for nilcheck (0.29 sec)

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

    // license that can be found in the LICENSE file.
    
    package ssa
    
    import (
    	"cmd/internal/src"
    	"fmt"
    	"sort"
    )
    
    func isPoorStatementOp(op Op) bool {
    	switch op {
    	// Note that Nilcheck often vanishes, but when it doesn't, you'd love to start the statement there
    	// so that a debugger-user sees the stop before the panic, and can examine the value.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Aug 14 21:26:13 UTC 2023
    - 7.8K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/dom.go

    // It requires a postorder numbering of all the blocks.
    func intersect(b, c *Block, postnum []int, idom []*Block) *Block {
    	// TODO: This loop is O(n^2). It used to be used in nilcheck,
    	// see BenchmarkNilCheckDeep*.
    	for b != c {
    		if postnum[b.ID] < postnum[c.ID] {
    			b = idom[b.ID]
    		} else {
    			c = idom[c.ID]
    		}
    	}
    	return b
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat Dec 03 17:08:51 UTC 2022
    - 7.4K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/fuse.go

    // There may be false positives.
    func isEmpty(b *Block) bool {
    	for _, v := range b.Values {
    		if v.Uses > 0 || v.Op.IsCall() || v.Op.HasSideEffects() || v.Type.IsVoid() || opcodeTable[v.Op].nilCheck {
    			return false
    		}
    	}
    	return true
    }
    
    // fuseBlockPlain handles a run of blocks with length >= 2,
    // whose interior has single predecessors and successors,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 31 20:45:54 UTC 2023
    - 9K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/cse.go

    						} // TODO and if this fails?
    					}
    					v.SetArg(i, x)
    					rewrites++
    				}
    			}
    		}
    		for i, v := range b.ControlValues() {
    			if x := rewrite[v.ID]; x != nil {
    				if v.Op == OpNilCheck {
    					// nilcheck pass will remove the nil checks and log
    					// them appropriately, so don't mess with them here.
    					continue
    				}
    				b.ReplaceControl(i, x)
    			}
    		}
    	}
    
    	if f.pass.stats > 0 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 31 21:41:20 UTC 2022
    - 9.6K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/deadcode.go

    					liveOrderStmts = append(liveOrderStmts, v)
    				}
    			}
    		}
    		for _, v := range b.Values {
    			if (opcodeTable[v.Op].call || opcodeTable[v.Op].hasSideEffects || opcodeTable[v.Op].nilCheck) && !live[v.ID] {
    				live[v.ID] = true
    				q = append(q, v)
    				if v.Pos.IsStmt() != src.PosNotStmt {
    					liveOrderStmts = append(liveOrderStmts, v)
    				}
    			}
    			if v.Op == OpInlMark {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Dec 08 00:29:01 UTC 2023
    - 9.2K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/_gen/WasmOps.go

    		{name: "LoweredNilCheck", argLength: 2, reg: regInfo{inputs: []regMask{gp}}, nilCheck: true, faultOnNilArg0: true}, // panic if arg0 is nil. arg1=mem
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Feb 24 00:21:13 UTC 2023
    - 17.7K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/_gen/Wasm.rules

    (TailCall ...) => (LoweredTailCall ...)
    
    // Miscellaneous
    (Convert ...) => (LoweredConvert ...)
    (IsNonNil p) => (I64Eqz (I64Eqz p))
    (IsInBounds ...) => (I64LtU ...)
    (IsSliceInBounds ...) => (I64LeU ...)
    (NilCheck ...) => (LoweredNilCheck ...)
    (GetClosurePtr ...) => (LoweredGetClosurePtr ...)
    (GetCallerPC ...) => (LoweredGetCallerPC ...)
    (GetCallerSP ...) => (LoweredGetCallerSP ...)
    (Addr {sym} base) => (LoweredAddr {sym} [0] base)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Feb 17 03:56:57 UTC 2023
    - 16.9K bytes
    - Viewed (0)
  8. 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)
  9. 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)
  10. src/cmd/compile/internal/wasm/ssa.go

    		s.Prog(wasm.AIf)
    		p := s.Prog(wasm.ACALLNORESUME)
    		p.To = obj.Addr{Type: obj.TYPE_MEM, Name: obj.NAME_EXTERN, Sym: ir.Syms.SigPanic}
    		s.Prog(wasm.AEnd)
    		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.OpWasmLoweredWB:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Feb 24 00:21:13 UTC 2023
    - 17.6K bytes
    - Viewed (0)
Back to top