Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for pageIndexOf (1.81 sec)

  1. src/runtime/mwbbuf.go

    		// just prefetches the mark bits.
    		mbits := span.markBitsForIndex(objIndex)
    		if mbits.isMarked() {
    			continue
    		}
    		mbits.setMarked()
    
    		// Mark span.
    		arena, pageIdx, pageMask := pageIndexOf(span.base())
    		if arena.pageMarks[pageIdx]&pageMask == 0 {
    			atomic.Or8(&arena.pageMarks[pageIdx], pageMask)
    		}
    
    		if span.spanclass.noscan() {
    			gcw.bytesMarked += uint64(span.elemsize)
    			continue
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 8.1K bytes
    - Viewed (0)
  2. src/runtime/mheap.go

    	if s == nil || s.state.get() != mSpanInUse || p < s.base() || p >= s.limit {
    		return nil
    	}
    	return s
    }
    
    // pageIndexOf returns the arena, page index, and page mask for pointer p.
    // The caller must ensure p is in the heap.
    func pageIndexOf(p uintptr) (arena *heapArena, pageIdx uintptr, pageMask uint8) {
    	ai := arenaIndex(p)
    	arena = mheap_.arenas[ai.l1()][ai.l2()]
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 22:31:00 UTC 2024
    - 78K bytes
    - Viewed (0)
  3. src/runtime/mgcmark.go

    			throw("marking free object")
    		}
    
    		// If marked we have nothing to do.
    		if mbits.isMarked() {
    			return
    		}
    		mbits.setMarked()
    
    		// Mark span.
    		arena, pageIdx, pageMask := pageIndexOf(span.base())
    		if arena.pageMarks[pageIdx]&pageMask == 0 {
    			atomic.Or8(&arena.pageMarks[pageIdx], pageMask)
    		}
    
    		// If this is a noscan object, fast-track it to black
    		// instead of greying it.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 18 21:25:11 UTC 2024
    - 52.5K bytes
    - Viewed (0)
Back to top