Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for freeBlock (0.1 sec)

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

    	for _, b := range f.Blocks {
    		if reachable[b.ID] {
    			f.Blocks[i] = b
    			i++
    		} else {
    			if len(b.Values) > 0 {
    				b.Fatalf("live values in unreachable block %v: %v", b, b.Values)
    			}
    			f.freeBlock(b)
    		}
    	}
    	// zero remainder to help GC
    	tail := f.Blocks[i:]
    	for j := range tail {
    		tail[j] = nil
    	}
    	f.Blocks = f.Blocks[:i]
    }
    
    // removeEdge removes the i'th outgoing edge from b (and
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Dec 08 00:29:01 UTC 2023
    - 9.2K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/func.go

    	f.Blocks = append(f.Blocks, b)
    	f.invalidateCFG()
    	return b
    }
    
    func (f *Func) freeBlock(b *Block) {
    	if b.Func == nil {
    		f.Fatalf("trying to free an already freed block")
    	}
    	// Clear everything but ID (which we reuse).
    	id := b.ID
    	*b = Block{}
    	b.ID = id
    	b.succstorage[0].b = f.freeBlocks
    	f.freeBlocks = b
    }
    
    // NewValue0 returns a new value in the block with no arguments and zero aux values.
    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/check.go

    				}
    			}
    		}
    		for _, c := range b.ControlValues() {
    			if !valueMark[c.ID] {
    				f.Fatalf("control value for %s is missing: %v", b, c)
    			}
    		}
    	}
    	for b := f.freeBlocks; b != nil; b = b.succstorage[0].b {
    		if blockMark[b.ID] {
    			f.Fatalf("used block b%d in free list", b.ID)
    		}
    	}
    	for v := f.freeValues; v != nil; v = v.argstorage[0] {
    		if valueMark[v.ID] {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 16:41:23 UTC 2024
    - 17.6K bytes
    - Viewed (0)
Back to top