Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for allocIDSlice (0.23 sec)

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

    		Data: unsafe.Pointer(&s[0]),
    		Len:  int((uintptr(len(s)) + scale - 1) / scale),
    		Cap:  int((uintptr(cap(s)) + scale - 1) / scale),
    	}
    	c.freeInt64Slice(*(*[]int64)(unsafe.Pointer(&b)))
    }
    func (c *Cache) allocIDSlice(n int) []ID {
    	var base int64
    	var derived ID
    	if unsafe.Sizeof(base)%unsafe.Sizeof(derived) != 0 {
    		panic("bad")
    	}
    	scale := unsafe.Sizeof(base) / unsafe.Sizeof(derived)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Feb 15 23:00:54 UTC 2023
    - 7.4K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/dom.go

    	// Adapted directly from the original TOPLAS article's "simple" algorithm
    
    	maxBlockID := entry.Func.NumBlocks()
    	scratch := f.Cache.allocIDSlice(7 * maxBlockID)
    	defer f.Cache.freeIDSlice(scratch)
    	semi := scratch[0*maxBlockID : 1*maxBlockID]
    	vertex := scratch[1*maxBlockID : 2*maxBlockID]
    	label := scratch[2*maxBlockID : 3*maxBlockID]
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat Dec 03 17:08:51 UTC 2022
    - 7.4K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/cse.go

    				f.auxmap[v.Aux] = int32(len(f.auxmap)) + 1
    			}
    			a = append(a, v)
    		}
    	}
    	partition := partitionValues(a, f.auxmap)
    
    	// map from value id back to eqclass id
    	valueEqClass := f.Cache.allocIDSlice(f.NumValues())
    	defer f.Cache.freeIDSlice(valueEqClass)
    	for _, b := range f.Blocks {
    		for _, v := range b.Values {
    			// Use negative equivalence class #s for unique values.
    			valueEqClass[v.ID] = -v.ID
    		}
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 31 21:41:20 UTC 2022
    - 9.6K bytes
    - Viewed (0)
Back to top