Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for notStmtBoundary (0.23 sec)

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

    			}
    			return j
    		}
    		return i
    	}
    	return i
    }
    
    // notStmtBoundary reports whether a value with opcode op can never be a statement
    // boundary. Such values don't correspond to a user's understanding of a
    // statement boundary.
    func notStmtBoundary(op Op) bool {
    	switch op {
    	case OpCopy, OpPhi, OpVarDef, OpVarLive, OpUnknown, OpFwdRef, OpArg, OpArgIntReg, OpArgFloatReg:
    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/nilcheck.go

    			}
    		}
    		// Remove values we've clobbered with OpUnknown.
    		i := firstToRemove
    		for j := i; j < len(b.Values); j++ {
    			v := b.Values[j]
    			if v.Op != OpUnknown {
    				if !notStmtBoundary(v.Op) && pendingLines.contains(v.Pos) { // Late in compilation, so any remaining NotStmt values are probably okay now.
    					v.Pos = v.Pos.WithIsStmt()
    					pendingLines.remove(v.Pos)
    				}
    				b.Values[i] = v
    				i++
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 31 20:45:54 UTC 2023
    - 11.3K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/func.go

    		ID := f.vid.get()
    		if int(ID) < len(f.Cache.values) {
    			v = &f.Cache.values[ID]
    			v.ID = ID
    		} else {
    			v = &Value{ID: ID}
    		}
    	}
    	v.Op = op
    	v.Type = t
    	v.Block = b
    	if notStmtBoundary(op) {
    		pos = pos.WithNotStmt()
    	}
    	v.Pos = pos
    	b.Values = append(b.Values, v)
    	return v
    }
    
    // newValueNoBlock allocates a new Value with the given fields.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 25.8K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/rewrite.go

    			if v.Op == OpInvalid {
    				if v.Pos.IsStmt() == src.PosIsStmt {
    					pendingLines.set(vl, int32(b.ID))
    				}
    				f.freeValue(v)
    				continue
    			}
    			if v.Pos.IsStmt() != src.PosNotStmt && !notStmtBoundary(v.Op) && pendingLines.get(vl) == int32(b.ID) {
    				pendingLines.remove(vl)
    				v.Pos = v.Pos.WithIsStmt()
    			}
    			if i != j {
    				b.Values[j] = v
    			}
    			j++
    		}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 64.2K bytes
    - Viewed (0)
Back to top