src/runtime: improve metadatasize calculation to avoid rounding issues

Этот коммит содержится в:
Damian Gryski 2022-01-26 11:00:50 -08:00 коммит произвёл Ron Evans
родитель 3458726234
коммит 23479c92d3

Просмотреть файл

@ -240,7 +240,7 @@ func calculateHeapAddresses() {
totalSize := heapEnd - heapStart totalSize := heapEnd - heapStart
// Allocate some memory to keep 2 bits of information about every block. // Allocate some memory to keep 2 bits of information about every block.
metadataSize := totalSize / (blocksPerStateByte * bytesPerBlock) metadataSize := (totalSize + blocksPerStateByte*bytesPerBlock) / (1 + blocksPerStateByte*bytesPerBlock)
metadataStart = unsafe.Pointer(heapEnd - metadataSize) metadataStart = unsafe.Pointer(heapEnd - metadataSize)
// Use the rest of the available memory as heap. // Use the rest of the available memory as heap.