Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 2,064 for spill (0.06 sec)

  1. src/cmd/internal/obj/link.go

    }
    
    // SpillRegisterArgs emits the code to spill register args into whatever
    // locations the spill records specify.
    func (fi *FuncInfo) SpillRegisterArgs(last *Prog, pa ProgAlloc) *Prog {
    	// Spill register args.
    	for _, ra := range fi.spills {
    		spill := Appendp(last, pa)
    		spill.As = ra.Spill
    		spill.From.Type = TYPE_REG
    		spill.From.Reg = ra.Reg
    		spill.To = ra.Addr
    		last = spill
    	}
    	return last
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 33.1K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/stackalloc.go

    				t.addAll(spillLive[p.ID])
    				for _, v := range phis {
    					a := v.Args[i]
    					if s.values[a.ID].needSlot {
    						t.add(a.ID)
    					}
    					if spill := s.values[a.ID].spill; spill != nil {
    						//TODO: remove?  Subsumed by SpillUse?
    						t.add(spill.ID)
    					}
    				}
    				if t.size() == len(s.live[p.ID]) {
    					continue
    				}
    				// grow p's live set
    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/runtime/syscall_windows.go

    	// is already pointing to the right place for smaller
    	// arguments. The same is true on arm.
    
    	oldParts := p.parts
    	if p.tryRegAssignArg(t, 0) {
    		// Account for spill space.
    		//
    		// TODO(mknyszek): Remove this when we no longer have
    		// caller reserved spill space.
    		p.dstSpill = alignUp(p.dstSpill, uintptr(t.Align_))
    		p.dstSpill += t.Size_
    	} else {
    		// Register assignment failed.
    		// Undo the work and stack assign.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 20:12:46 UTC 2024
    - 16.6K bytes
    - Viewed (0)
  4. src/runtime/traceback_test.go

    }
    
    // norace to avoid race instrumentation changing spill locations.
    // nosplit to avoid preemption or morestack spilling registers.
    //
    //go:norace
    //go:nosplit
    //go:noinline
    func testTracebackArgs11b(a, b, c, d int32) int {
    	var x int32
    	if a < 0 {
    		print() // spill b in a conditional
    		x = b
    	} else {
    		print() // spill c in a conditional
    		x = c
    	}
    	if d < 0 { // d is always needed
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Dec 14 17:22:18 UTC 2023
    - 22.9K bytes
    - Viewed (0)
  5. test/codegen/issue61356.go

    // asmcheck
    
    // Copyright 2023 The Go Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    // Make sure this code doesn't generate spill/restore.
    
    package codegen
    
    func pack20(in *[20]uint64) uint64 {
    	var out uint64
    	out |= 4
    	// amd64:-`.*SP.*`
    	out |= in[0] << 4
    	// amd64:-`.*SP.*`
    	out |= in[1] << 7
    	// amd64:-`.*SP.*`
    	out |= in[2] << 10
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jul 26 17:19:14 UTC 2023
    - 1.1K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssagen/arch.go

    	// memory. Used in open-coded defer return path.
    	LoadRegResult func(s *State, f *ssa.Func, t *types.Type, reg int16, n *ir.Name, off int64) *obj.Prog
    
    	// SpillArgReg emits instructions that spill reg to n+off.
    	SpillArgReg func(pp *objw.Progs, p *obj.Prog, f *ssa.Func, t *types.Type, reg int16, n *ir.Name, off int64) *obj.Prog
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Aug 03 21:05:55 UTC 2021
    - 1.5K bytes
    - Viewed (0)
  7. test/abi/many_intstar_input.go

    }
    
    //go:registerparams
    //go:noinline
    func G(a, b, c, d, e, f *int) {
    	var scratch [1000 * 100]int
    	scratch[*a] = *f                    // scratch[6] = 1
    	fmt.Println(*a, *b, *c, *d, *e, *f) // Forces it to spill b
    	sink = scratch[*b+1]                // scratch[5+1] == 1
    	*f, *a = *a, *f
    	*e, *b = *b, *e
    	*d, *c = *c, *d
    }
    
    func main() {
    	a, b, c, d, e, f := 1, 2, 3, 4, 5, 6
    	F(&a, &b, &c, &d, &e, &f)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 19 23:33:25 UTC 2023
    - 967 bytes
    - Viewed (0)
  8. src/runtime/mwbbuf.go

    //
    // When the buffer fills up, the write barrier invokes the slow path
    // (wbBufFlush) to flush the buffer to the GC work queues. In this
    // path, since the compiler didn't spill registers, we spill *all*
    // registers and disallow any GC safe points that could observe the
    // stack frame (since we don't know the types of the spilled
    // registers).
    
    package runtime
    
    import (
    	"internal/goarch"
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 8.1K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssa/location.go

    type LocResults []Location
    
    func (t LocResults) String() string {
    	s := ""
    	a := "<"
    	for _, r := range t {
    		a += s
    		s = ","
    		a += r.String()
    	}
    	a += ">"
    	return a
    }
    
    type Spill struct {
    	Type   *types.Type
    	Offset int64
    	Reg    int16
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 11 16:34:30 UTC 2022
    - 3.1K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/liveness/plive.go

    		//     a. X is in a register -- then X is seen, and the spill slot is also scanned conservatively.
    		//     b. X is spilled -- the spill slot is initialized, and scanned conservatively
    		//     c. X is not live -- the spill slot is scanned conservatively, and it may contain X from an earlier spill.
    		//  4. GC within G, transitively called from F
    		//    a. X is live at call site, therefore is spilled, to its spill slot (which is live because of subsequent LoadReg).
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 15:22:22 UTC 2024
    - 45.2K bytes
    - Viewed (0)
Back to top