- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 13 for LocalSlot (0.25 sec)
-
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) -
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) -
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) -
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) -
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) -
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) -
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) -
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) -
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) -
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)