Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 14 for LocalSlot (0.19 sec)

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

    	f.Names = append(f.Names, newNames...)
    }
    
    func maybeAppend(f *Func, ss []*LocalSlot, s *LocalSlot) []*LocalSlot {
    	if _, ok := f.NamedValues[*s]; !ok {
    		f.NamedValues[*s] = nil
    		return append(ss, s)
    	}
    	return ss
    }
    
    func maybeAppend2(f *Func, ss []*LocalSlot, s1, s2 *LocalSlot) []*LocalSlot {
    	return maybeAppend(f, maybeAppend(f, ss, s1), s2)
    }
    
    func decomposeBuiltInPhi(v *Value) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Aug 23 21:22:15 UTC 2022
    - 13.4K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/func.go

    	f.Cache.scrPoset = append(f.Cache.scrPoset, po)
    }
    
    func (f *Func) localSlotAddr(slot LocalSlot) *LocalSlot {
    	a, ok := f.CanonicalLocalSlots[slot]
    	if !ok {
    		a = new(LocalSlot)
    		*a = slot // don't escape slot
    		f.CanonicalLocalSlots[slot] = a
    	}
    	return a
    }
    
    func (f *Func) SplitString(name *LocalSlot) (*LocalSlot, *LocalSlot) {
    	ptrType := types.NewPtr(types.Types[types.TUINT8])
    	lenType := types.Types[types.TINT]
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 25.8K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/location.go

    //	                          parent = &{N: s, Type: string}
    type LocalSlot struct {
    	N    *ir.Name    // an ONAME *ir.Name representing a stack location.
    	Type *types.Type // type of slot
    	Off  int64       // offset of slot in N
    
    	SplitOf     *LocalSlot // slot is a decomposition of SplitOf
    	SplitOffset int64      // .. at this offset.
    }
    
    func (s LocalSlot) String() string {
    	if s.Off == 0 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 11 16:34:30 UTC 2022
    - 3.1K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/stackalloc.go

    			// the spill location.
    			var name LocalSlot
    			if v.Op == OpStoreReg {
    				name = names[v.Args[0].ID]
    			} else {
    				name = names[v.ID]
    			}
    			if name.N != nil && v.Type.Compare(name.Type) == types.CMPeq {
    				for _, id := range s.interfere[v.ID] {
    					h := f.getHome(id)
    					if h != nil && h.(LocalSlot).N == name.N && h.(LocalSlot).Off == name.Off {
    						// A variable can interfere with itself.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Feb 29 21:29:41 UTC 2024
    - 12.6K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/export_test.go

    	t    testing.TB
    	ctxt *obj.Link
    	f    *ir.Func
    }
    
    func (TestFrontend) StringData(s string) *obj.LSym {
    	return nil
    }
    func (d TestFrontend) SplitSlot(parent *LocalSlot, suffix string, offset int64, t *types.Type) LocalSlot {
    	return LocalSlot{N: parent.N, Type: t, Off: offset}
    }
    func (d TestFrontend) Syslook(s string) *obj.LSym {
    	return d.ctxt.Lookup(s)
    }
    func (TestFrontend) UseWriteBarrier() bool {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 20 21:19:39 UTC 2024
    - 3.2K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/debug.go

    	slmap  map[slotKey]SlKeyIdx
    	slkeys []LocalSlot
    }
    
    func newSlotCanonicalizer() *slotCanonicalizer {
    	return &slotCanonicalizer{
    		slmap:  make(map[slotKey]SlKeyIdx),
    		slkeys: []LocalSlot{LocalSlot{N: nil}},
    	}
    }
    
    type SlKeyIdx uint32
    
    const noSlot = SlKeyIdx(0)
    
    // slotKey is a type-insensitive encapsulation of a LocalSlot; it
    // is used to key a map within slotCanonicalizer.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 58.4K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/sizeof_test.go

    	var tests = []struct {
    		val    interface{} // type as a value
    		_32bit uintptr     // size on 32bit platforms
    		_64bit uintptr     // size on 64bit platforms
    	}{
    		{Value{}, 72, 112},
    		{Block{}, 164, 304},
    		{LocalSlot{}, 28, 40},
    		{valState{}, 28, 40},
    	}
    
    	for _, tt := range tests {
    		want := tt._32bit
    		if _64bit {
    			want = tt._64bit
    		}
    		got := reflect.TypeOf(tt.val).Size()
    		if want != got {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Dec 08 01:46:40 UTC 2020
    - 855 bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/print.go

    }
    
    type funcPrinter interface {
    	header(f *Func)
    	startBlock(b *Block, reachable bool)
    	endBlock(b *Block, reachable bool)
    	value(v *Value, live bool)
    	startDepCycle()
    	endDepCycle()
    	named(n LocalSlot, vals []*Value)
    }
    
    type stringFuncPrinter struct {
    	w         io.Writer
    	printDead bool
    }
    
    func (p stringFuncPrinter) header(f *Func) {
    	fmt.Fprint(p.w, f.Name)
    	fmt.Fprint(p.w, " ")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 31 21:41:20 UTC 2022
    - 3.9K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssagen/pgen.go

    		fn.LSym.R[i].Type |= objabi.R_WEAK
    	}
    }
    
    // StackOffset returns the stack location of a LocalSlot relative to the
    // stack pointer, suitable for use in a DWARF location entry. This has nothing
    // to do with its offset in the user variable.
    func StackOffset(slot ssa.LocalSlot) int32 {
    	n := slot.N
    	var off int64
    	switch n.Class {
    	case ir.PPARAM, ir.PPARAMOUT:
    		if !n.IsOutputParamInRegisters() {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 15:44:14 UTC 2024
    - 13.1K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssa/config.go

    	StringData(string) *obj.LSym
    
    	// Given the name for a compound type, returns the name we should use
    	// for the parts of that compound type.
    	SplitSlot(parent *LocalSlot, suffix string, offset int64, t *types.Type) LocalSlot
    
    	// Syslook returns a symbol of the runtime function/variable with the
    	// given name.
    	Syslook(string) *obj.LSym
    
    	// UseWriteBarrier reports whether write barrier is enabled
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 02 16:11:47 UTC 2024
    - 12.9K bytes
    - Viewed (0)
Back to top