Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 9 of 9 for sfreeindex (0.11 sec)

  1. src/runtime/mbitmap.go

    // or after s.freeindex.
    // There are hardware instructions that can be used to make this
    // faster if profiling warrants it.
    func (s *mspan) nextFreeIndex() uint16 {
    	sfreeindex := s.freeindex
    	snelems := s.nelems
    	if sfreeindex == snelems {
    		return sfreeindex
    	}
    	if sfreeindex > snelems {
    		throw("s.freeindex > s.nelems")
    	}
    
    	aCache := s.allocCache
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 00:18:55 UTC 2024
    - 60K bytes
    - Viewed (0)
  2. src/runtime/mcentral.go

    			}
    			if s, ok := sl.tryAcquire(s); ok {
    				// We got ownership of the span, so let's sweep it.
    				s.sweep(true)
    				// Check if there's any free space.
    				freeIndex := s.nextFreeIndex()
    				if freeIndex != s.nelems {
    					s.freeindex = freeIndex
    					sweep.active.end(sl)
    					goto havespan
    				}
    				// Add it to the swept list, because sweeping didn't give us any free space.
    				c.fullSwept(sg).push(s.mspan)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 8.1K bytes
    - Viewed (0)
  3. src/runtime/mgcsweep.go

    			}
    			mbits.advance()
    			abits.advance()
    		}
    	}
    
    	// Check for zombie objects.
    	if s.freeindex < s.nelems {
    		// Everything < freeindex is allocated and hence
    		// cannot be zombies.
    		//
    		// Check the first bitmap byte, where we have to be
    		// careful with freeindex.
    		obj := uintptr(s.freeindex)
    		if (*s.gcmarkBits.bytep(obj / 8)&^*s.allocBits.bytep(obj / 8))>>(obj%8) != 0 {
    			s.reportZombies()
    		}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 17:52:18 UTC 2024
    - 32.9K bytes
    - Viewed (0)
  4. src/runtime/heapdump.go

    		n := (s.npages << _PageShift) / size
    		if n > uintptr(len(freemark)) {
    			throw("freemark array doesn't have enough entries")
    		}
    
    		for freeIndex := uint16(0); freeIndex < s.nelems; freeIndex++ {
    			if s.isFree(uintptr(freeIndex)) {
    				freemark[freeIndex] = true
    			}
    		}
    
    		for j := uintptr(0); j < n; j, p = j+1, p+size {
    			if freemark[j] {
    				freemark[j] = false
    				continue
    			}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 04:07:57 UTC 2024
    - 17.6K bytes
    - Viewed (0)
  5. src/runtime/malloc.go

    	s = c.alloc[spc]
    	shouldhelpgc = false
    	freeIndex := s.nextFreeIndex()
    	if freeIndex == s.nelems {
    		// The span is full.
    		if s.allocCount != s.nelems {
    			println("runtime: s.allocCount=", s.allocCount, "s.nelems=", s.nelems)
    			throw("s.allocCount != s.nelems && freeIndex == s.nelems")
    		}
    		c.refill(spc)
    		shouldhelpgc = true
    		s = c.alloc[spc]
    
    		freeIndex = s.nextFreeIndex()
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 59.6K bytes
    - Viewed (0)
  6. src/cmd/vendor/golang.org/x/text/internal/language/compact/tables.go

    	frMLIndex         ID = 319
    	frMQIndex         ID = 320
    	frMRIndex         ID = 321
    	frMUIndex         ID = 322
    	frNCIndex         ID = 323
    	frNEIndex         ID = 324
    	frPFIndex         ID = 325
    	frPMIndex         ID = 326
    	frREIndex         ID = 327
    	frRWIndex         ID = 328
    	frSCIndex         ID = 329
    	frSNIndex         ID = 330
    	frSYIndex         ID = 331
    	frTDIndex         ID = 332
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jan 24 13:01:26 UTC 2024
    - 31.4K bytes
    - Viewed (0)
  7. src/runtime/mheap.go

    	// freeindex is the slot index between 0 and nelems at which to begin scanning
    	// for the next free object in this span.
    	// Each allocation scans allocBits starting at freeindex until it encounters a 0
    	// indicating a free object. freeindex is then adjusted so that subsequent scans begin
    	// just past the newly discovered free object.
    	//
    	// If freeindex == nelem, this span has no free objects.
    	//
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 22:31:00 UTC 2024
    - 78K bytes
    - Viewed (0)
  8. src/runtime/traceallocfree.go

    		if s.state.get() != mSpanInUse {
    			continue
    		}
    
    		// Find all allocated objects.
    		abits := s.allocBitsForIndex(0)
    		for i := uintptr(0); i < uintptr(s.nelems); i++ {
    			if abits.index < uintptr(s.freeindex) || abits.isMarked() {
    				x := s.base() + i*s.elemsize
    				trace.HeapObjectExists(x, s.typePointersOfUnchecked(x).typ)
    			}
    			abits.advance()
    		}
    	}
    
    	// Write out all the goroutine stacks.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 20:32:51 UTC 2024
    - 5.9K bytes
    - Viewed (0)
  9. src/runtime/arena.go

    	spc := makeSpanClass(0, false)
    	h.initSpan(s, spanAllocHeap, spc, base, userArenaChunkPages)
    	s.isUserArenaChunk = true
    	s.elemsize -= userArenaChunkReserveBytes()
    	s.limit = s.base() + s.elemsize
    	s.freeindex = 1
    	s.allocCount = 1
    
    	// Account for this new arena chunk memory.
    	gcController.heapInUse.add(int64(userArenaChunkBytes))
    	gcController.heapReleased.add(-int64(userArenaChunkBytes))
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 17:44:56 UTC 2024
    - 37.9K bytes
    - Viewed (0)
Back to top