summaryrefslogtreecommitdiff
path: root/src/runtime/mgc1.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/mgc1.go')
-rw-r--r--src/runtime/mgc1.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/runtime/mgc1.go b/src/runtime/mgc1.go
index d1aab4554..04a5207e5 100644
--- a/src/runtime/mgc1.go
+++ b/src/runtime/mgc1.go
@@ -50,12 +50,15 @@ const (
// If you change these, also change scanblock.
// scanblock does "if(bits == BitsScalar || bits == BitsDead)" as "if(bits <= BitsScalar)".
- _BitsDead = 0
- _BitsScalar = 1
- _BitsPointer = 2
+ _BitsDead = 0
+ _BitsScalar = 1 // 01
+ _BitsPointer = 2 // 10
+ _BitsCheckMarkXor = 1 // 10
+ _BitsScalarMarked = _BitsScalar ^ _BitsCheckMarkXor // 00
+ _BitsPointerMarked = _BitsPointer ^ _BitsCheckMarkXor // 11
// 64 bytes cover objects of size 1024/512 on 64/32 bits, respectively.
- _MaxGCMask = 64
+ _MaxGCMask = 65536 // TODO(rsc): change back to 64
)
// Bits in per-word bitmap.