Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 79 for Live (0.55 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/covdata/dump.go

    func makeDumpOp(cmd string) covOperation {
    	if cmd == textfmtMode || cmd == percentMode {
    		textfmtoutflag = flag.String("o", "", "Output text format to file")
    	}
    	if cmd == debugDumpMode {
    		liveflag = flag.Bool("live", false, "Select only live (executed) functions for dump output.")
    	}
    	d := &dstate{
    		cmd: cmd,
    		cm:  &cmerge.Merger{},
    	}
    	// For these modes (percent, pkglist, func, etc), use a relaxed
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 23 11:36:57 UTC 2023
    - 11.2K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/walk/range.go

    		// or the other of hp and hu as the loop proceeds.
    		//
    		// hp is live during most of the body of the loop. But it isn't live
    		// at the very top of the loop, when we haven't checked i<n yet, and
    		// it could point off the end of the backing store.
    		// hu is live only at the very top and very bottom of the loop.
    		// In particular, only when it cannot possibly be live across a call.
    		//
    		// So we do
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Sep 20 14:52:33 UTC 2023
    - 17.6K bytes
    - Viewed (0)
  8. 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)
  9. src/cmd/compile/internal/ssagen/phi.go

    		v := s.fwdrefs[len(s.fwdrefs)-1]
    		s.fwdrefs = s.fwdrefs[:len(s.fwdrefs)-1]
    		b := v.Block
    		var_ := v.Aux.(fwdRefAux).N
    		if b == s.f.Entry {
    			// No variable should be live at entry.
    			s.s.Fatalf("value %v (%v) incorrectly live at entry", var_, v)
    		}
    		if !s.reachable[b.ID] {
    			// This block is dead.
    			// It doesn't matter what we use here as long as it is well-formed.
    			v.Op = ssa.OpUnknown
    			v.Aux = nil
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Nov 18 17:59:44 UTC 2022
    - 15.2K bytes
    - Viewed (0)
  10. 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)
Back to top