Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 8 of 8 for LocalSlot (0.29 sec)

  1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. src/cmd/compile/internal/ssa/value.go

    }
    
    // AutoVar returns a *Name and int64 representing the auto variable and offset within it
    // where v should be spilled.
    func AutoVar(v *Value) (*ir.Name, int64) {
    	if loc, ok := v.Block.Func.RegAlloc[v.ID].(LocalSlot); ok {
    		if v.Type.Size() > loc.Type.Size() {
    			v.Fatalf("spill/restore type %s doesn't fit in slot type %s", v.Type, loc.Type)
    		}
    		return loc.N, loc.Off
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 03 16:40:22 UTC 2024
    - 16.7K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssagen/ssa.go

    func (e *ssafn) SplitSlot(parent *ssa.LocalSlot, suffix string, offset int64, t *types.Type) ssa.LocalSlot {
    	node := parent.N
    
    	if node.Class != ir.PAUTO || node.Addrtaken() {
    		// addressed things and non-autos retain their parents (i.e., cannot truly be split)
    		return ssa.LocalSlot{N: node, Type: t, Off: parent.Off + offset}
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 284.9K bytes
    - Viewed (0)
Back to top