Source file src/runtime/mgcmark_nogreenteagc.go

     1  // Copyright 2025 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  //go:build !goexperiment.greenteagc
     6  
     7  package runtime
     8  
     9  func (s *mspan) markBitsForIndex(objIndex uintptr) markBits {
    10  	bytep, mask := s.gcmarkBits.bitp(objIndex)
    11  	return markBits{bytep, mask, objIndex}
    12  }
    13  
    14  func (s *mspan) markBitsForBase() markBits {
    15  	return markBits{&s.gcmarkBits.x, uint8(1), 0}
    16  }
    17  
    18  func tryDeferToSpanScan(p uintptr, gcw *gcWork) bool {
    19  	return false
    20  }
    21  
    22  func (s *mspan) initInlineMarkBits() {
    23  }
    24  
    25  func (s *mspan) mergeInlineMarks(to *gcBits) {
    26  	throw("unimplemented")
    27  }
    28  
    29  func gcUsesSpanInlineMarkBits(_ uintptr) bool {
    30  	return false
    31  }
    32  
    33  func (s *mspan) inlineMarkBits() *spanInlineMarkBits {
    34  	return nil
    35  }
    36  
    37  func (s *mspan) scannedBitsForIndex(objIndex uintptr) markBits {
    38  	throw("unimplemented")
    39  	return markBits{}
    40  }
    41  
    42  type spanInlineMarkBits struct {
    43  }
    44  
    45  func (q *spanInlineMarkBits) tryAcquire() bool {
    46  	return false
    47  }
    48  
    49  type spanQueue struct {
    50  	_ uint32 // To match alignment padding requirements for atomically-accessed variables in workType.
    51  }
    52  
    53  func (q *spanQueue) empty() bool {
    54  	return true
    55  }
    56  
    57  func (q *spanQueue) size() int {
    58  	return 0
    59  }
    60  
    61  type localSpanQueue struct {
    62  }
    63  
    64  func (q *localSpanQueue) drain() bool {
    65  	return false
    66  }
    67  
    68  func (q *localSpanQueue) empty() bool {
    69  	return true
    70  }
    71  
    72  type objptr uintptr
    73  
    74  func (w *gcWork) tryGetSpan(steal bool) objptr {
    75  	return 0
    76  }
    77  
    78  func scanSpan(p objptr, gcw *gcWork) {
    79  	throw("unimplemented")
    80  }
    81  

View as plain text