diff --git a/src/internal/gclayout/gclayout.go b/src/internal/gclayout/gclayout.go index aa841d804..76a03adc6 100644 --- a/src/internal/gclayout/gclayout.go +++ b/src/internal/gclayout/gclayout.go @@ -5,29 +5,20 @@ import "unsafe" // Internal constants for gc layout // See runtime/gc_precise.go -var ( - NoPtrs unsafe.Pointer - Pointer unsafe.Pointer - String unsafe.Pointer - Slice unsafe.Pointer +type Layout uintptr + +const ( + // 16-bit int => bits = 4 + // 32-bit int => bits = 5 + // 64-bit int => bits = 6 + sizeBits = 4 + unsafe.Sizeof(uintptr(0))/4 + + sizeShift = sizeBits + 1 + + NoPtrs = Layout(uintptr(0b0<