summaryrefslogtreecommitdiff
path: root/src/runtime/mgc1.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-12-05 11:40:41 -0500
committerRuss Cox <rsc@golang.org>2014-12-05 11:40:41 -0500
commit60e02bbbea5d3bf4a6b06551f09c984285f8139c (patch)
tree69e27f09db888f62c2aa9db29ab0c7233c1b286b /src/runtime/mgc1.go
parent6d3ba1914e289ed223f7bb69f34604c0e2ae5384 (diff)
parente5fc9ffb729e31c4eb0a6518e819e9fc70f14818 (diff)
downloadgo-60e02bbbea5d3bf4a6b06551f09c984285f8139c.tar.gz
[dev.garbage] all: merge dev.cc (81884b89bd88) into dev.garbage
TBR=rlh CC=golang-codereviews https://codereview.appspot.com/181100044
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.