Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 40 for Live (0.1 sec)

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

    		s.interfere = s.interfere[:n]
    	} else {
    		s.interfere = make([][]ID, n)
    	}
    	live := f.newSparseSet(f.NumValues())
    	defer f.retSparseSet(live)
    	for _, b := range f.Blocks {
    		// Propagate liveness backwards to the start of the block.
    		// Two values interfere if one is defined while the other is live.
    		live.clear()
    		live.addAll(s.live[b.ID])
    		for i := len(b.Values) - 1; i >= 0; i-- {
    			v := b.Values[i]
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Feb 29 21:29:41 UTC 2024
    - 12.6K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/liveness/intervals.go

    // candidate variable), by making a
    // backwards sweep and invoking the Live/Kill methods to note the
    // starts and end of a given lifetime. For the example above, we would
    // expect to see this sequence of calls to Live/Kill:
    //
    //    abc:  Live(9), Kill(8), Live(6), Kill(0)
    //    xyz:  Live(8), Kill(2)
    
    import (
    	"fmt"
    	"os"
    	"strings"
    )
    
    const debugtrace = false
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Mar 29 21:55:27 UTC 2024
    - 10K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/liveness/plive.go

    			// Check to make sure only input variables are live.
    			for i, n := range lv.vars {
    				if !liveout.Get(int32(i)) {
    					continue
    				}
    				if n.Class == ir.PPARAM {
    					continue // ok
    				}
    				base.FatalfAt(n.Pos(), "bad live variable at entry of %v: %L", lv.fn.Nname, n)
    			}
    
    			// Record live variables.
    			live := &lv.livevars[index]
    			live.Or(*live, liveout)
    		}
    
    		if lv.doClobber {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 15:22:22 UTC 2024
    - 45.2K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/check.go

    				f.Fatalf("memory is first in a tuple: %s\n", v.LongString())
    			}
    		}
    	}
    
    	// Single live memory checks.
    	// These checks only work if there are no memory copies.
    	// (Memory copies introduce ambiguity about which mem value is really live.
    	// probably fixable, but it's easier to avoid the problem.)
    	// For the same reason, disable this check if some memory ops are unused.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 16:41:23 UTC 2024
    - 17.6K bytes
    - Viewed (0)
  5. src/cmd/covdata/tool_test.go

    	if len(lines) == 1 && lines[0] == "" {
    		lines = nil
    	}
    	return lines
    }
    
    func testDump(t *testing.T, s state) {
    	// Run the dumper on the two dirs we generated.
    	dargs := []string{"-pkg=" + mainPkgPath, "-live", "-i=" + s.outdirs[0] + "," + s.outdirs[1]}
    	lines := runToolOp(t, s, "debugdump", dargs)
    
    	// Sift through the output to make sure it has some key elements.
    	testpoints := []struct {
    		tag string
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Mar 07 20:46:32 UTC 2024
    - 24.5K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/schedule.go

    	// reusable priority queue
    	priq := new(ValHeap)
    
    	// "priority" for a value
    	score := f.Cache.allocInt8Slice(f.NumValues())
    	defer f.Cache.freeInt8Slice(score)
    
    	// maps mem values to the next live memory value
    	nextMem := f.Cache.allocValueSlice(f.NumValues())
    	defer f.Cache.freeValueSlice(nextMem)
    
    	// inBlockUses records whether a value is used in the block
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 08 15:53:17 UTC 2024
    - 16.4K bytes
    - Viewed (0)
  7. src/cmd/internal/dwarf/dwarf.go

    	ic := &calls.Calls[slot]
    	if ic.InlIndex == -2 {
    		return true
    	}
    	live := false
    	for _, k := range ic.Children {
    		if !isEmptyInlinedCall(k, calls) {
    			live = true
    		}
    	}
    	if len(ic.Ranges) > 0 {
    		live = true
    	}
    	if !live {
    		ic.InlIndex = -2
    	}
    	return !live
    }
    
    // Slot -1:    return top-level inlines.
    // Slot >= 0:  return children of that slot.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Mar 06 15:23:18 UTC 2024
    - 43K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/deadstore.go

    		}
    
    		// find last store in the block
    		var last *Value
    		for _, v := range stores {
    			if storeUse.contains(v.ID) {
    				continue
    			}
    			if last != nil {
    				b.Fatalf("two final stores - simultaneous live stores %s %s", last.LongString(), v.LongString())
    			}
    			last = v
    		}
    		if last == nil {
    			b.Fatalf("no last store found - cycle?")
    		}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 25 20:07:26 UTC 2024
    - 11K bytes
    - Viewed (0)
  9. src/cmd/trace/pprof.go

    	for _, g := range t.summary.Goroutines {
    		if name != "" && g.Name != name {
    			continue
    		}
    		endTime := g.EndTime
    		if g.EndTime == 0 {
    			endTime = t.endTime() // Use the trace end time, since the goroutine is still live then.
    		}
    		res[g.ID] = []interval{{start: g.StartTime, end: endTime}}
    	}
    	if len(res) == 0 {
    		return nil, fmt.Errorf("failed to find matching goroutines for name: %s", name)
    	}
    	return res, nil
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 10.1K bytes
    - Viewed (0)
  10. src/cmd/link/internal/ld/deadcode.go

    		d.mark(d.ctxt.mainInittasks, 0)
    	}
    }
    
    func (d *deadcodePass) flood() {
    	var methods []methodref
    	for !d.wq.empty() {
    		symIdx := d.wq.pop()
    
    		// Methods may be called via reflection. Give up on static analysis,
    		// and mark all exported methods of all reachable types as reachable.
    		d.reflectSeen = d.reflectSeen || d.ldr.IsReflectMethod(symIdx)
    
    		isgotype := d.ldr.IsGoType(symIdx)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 14:52:41 UTC 2024
    - 19K bytes
    - Viewed (0)
Back to top