github.com/MangoDowner/go-gm@v0.0.0-20180818020936-8baa2bd4408c/src/runtime/sizeclasses.go (about)

     1  // Code generated by mksizeclasses.go; DO NOT EDIT.
     2  //go:generate go run mksizeclasses.go
     3  
     4  package runtime
     5  
     6  // class  bytes/obj  bytes/span  objects  waste bytes
     7  //     1          8        8192     1024            0
     8  //     2         16        8192      512            0
     9  //     3         32        8192      256            0
    10  //     4         48        8192      170           32
    11  //     5         64        8192      128            0
    12  //     6         80        8192      102           32
    13  //     7         96        8192       85           32
    14  //     8        112        8192       73           16
    15  //     9        128        8192       64            0
    16  //    10        144        8192       56          128
    17  //    11        160        8192       51           32
    18  //    12        176        8192       46           96
    19  //    13        192        8192       42          128
    20  //    14        208        8192       39           80
    21  //    15        224        8192       36          128
    22  //    16        240        8192       34           32
    23  //    17        256        8192       32            0
    24  //    18        288        8192       28          128
    25  //    19        320        8192       25          192
    26  //    20        352        8192       23           96
    27  //    21        384        8192       21          128
    28  //    22        416        8192       19          288
    29  //    23        448        8192       18          128
    30  //    24        480        8192       17           32
    31  //    25        512        8192       16            0
    32  //    26        576        8192       14          128
    33  //    27        640        8192       12          512
    34  //    28        704        8192       11          448
    35  //    29        768        8192       10          512
    36  //    30        896        8192        9          128
    37  //    31       1024        8192        8            0
    38  //    32       1152        8192        7          128
    39  //    33       1280        8192        6          512
    40  //    34       1408       16384       11          896
    41  //    35       1536        8192        5          512
    42  //    36       1792       16384        9          256
    43  //    37       2048        8192        4            0
    44  //    38       2304       16384        7          256
    45  //    39       2688        8192        3          128
    46  //    40       3072       24576        8            0
    47  //    41       3200       16384        5          384
    48  //    42       3456       24576        7          384
    49  //    43       4096        8192        2            0
    50  //    44       4864       24576        5          256
    51  //    45       5376       16384        3          256
    52  //    46       6144       24576        4            0
    53  //    47       6528       32768        5          128
    54  //    48       6784       40960        6          256
    55  //    49       6912       49152        7          768
    56  //    50       8192        8192        1            0
    57  //    51       9472       57344        6          512
    58  //    52       9728       49152        5          512
    59  //    53      10240       40960        4            0
    60  //    54      10880       32768        3          128
    61  //    55      12288       24576        2            0
    62  //    56      13568       40960        3          256
    63  //    57      14336       57344        4            0
    64  //    58      16384       16384        1            0
    65  //    59      18432       73728        4            0
    66  //    60      19072       57344        3          128
    67  //    61      20480       40960        2            0
    68  //    62      21760       65536        3          256
    69  //    63      24576       24576        1            0
    70  //    64      27264       81920        3          128
    71  //    65      28672       57344        2            0
    72  //    66      32768       32768        1            0
    73  
    74  const (
    75  	_MaxSmallSize   = 32768
    76  	smallSizeDiv    = 8
    77  	smallSizeMax    = 1024
    78  	largeSizeDiv    = 128
    79  	_NumSizeClasses = 67
    80  	_PageShift      = 13
    81  )
    82  
    83  var class_to_size = [_NumSizeClasses]uint16{0, 8, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384, 416, 448, 480, 512, 576, 640, 704, 768, 896, 1024, 1152, 1280, 1408, 1536, 1792, 2048, 2304, 2688, 3072, 3200, 3456, 4096, 4864, 5376, 6144, 6528, 6784, 6912, 8192, 9472, 9728, 10240, 10880, 12288, 13568, 14336, 16384, 18432, 19072, 20480, 21760, 24576, 27264, 28672, 32768}
    84  var class_to_allocnpages = [_NumSizeClasses]uint8{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 3, 2, 3, 1, 3, 2, 3, 4, 5, 6, 1, 7, 6, 5, 4, 3, 5, 7, 2, 9, 7, 5, 8, 3, 10, 7, 4}
    85  
    86  type divMagic struct {
    87  	shift    uint8
    88  	shift2   uint8
    89  	mul      uint16
    90  	baseMask uint16
    91  }
    92  
    93  var class_to_divmagic = [_NumSizeClasses]divMagic{{0, 0, 0, 0}, {3, 0, 1, 65528}, {4, 0, 1, 65520}, {5, 0, 1, 65504}, {4, 9, 171, 0}, {6, 0, 1, 65472}, {4, 10, 205, 0}, {5, 9, 171, 0}, {4, 11, 293, 0}, {7, 0, 1, 65408}, {4, 9, 57, 0}, {5, 10, 205, 0}, {4, 12, 373, 0}, {6, 7, 43, 0}, {4, 13, 631, 0}, {5, 11, 293, 0}, {4, 13, 547, 0}, {8, 0, 1, 65280}, {5, 9, 57, 0}, {6, 9, 103, 0}, {5, 12, 373, 0}, {7, 7, 43, 0}, {5, 10, 79, 0}, {6, 10, 147, 0}, {5, 11, 137, 0}, {9, 0, 1, 65024}, {6, 9, 57, 0}, {7, 6, 13, 0}, {6, 11, 187, 0}, {8, 5, 11, 0}, {7, 8, 37, 0}, {10, 0, 1, 64512}, {7, 9, 57, 0}, {8, 6, 13, 0}, {7, 11, 187, 0}, {9, 5, 11, 0}, {8, 8, 37, 0}, {11, 0, 1, 63488}, {8, 9, 57, 0}, {7, 10, 49, 0}, {10, 5, 11, 0}, {7, 10, 41, 0}, {7, 9, 19, 0}, {12, 0, 1, 61440}, {8, 9, 27, 0}, {8, 10, 49, 0}, {11, 5, 11, 0}, {7, 13, 161, 0}, {7, 13, 155, 0}, {8, 9, 19, 0}, {13, 0, 1, 57344}, {8, 12, 111, 0}, {9, 9, 27, 0}, {11, 6, 13, 0}, {7, 14, 193, 0}, {12, 3, 3, 0}, {8, 13, 155, 0}, {11, 8, 37, 0}, {14, 0, 1, 49152}, {11, 8, 29, 0}, {7, 13, 55, 0}, {12, 5, 7, 0}, {8, 14, 193, 0}, {13, 3, 3, 0}, {7, 14, 77, 0}, {12, 7, 19, 0}, {15, 0, 1, 32768}}
    94  var size_to_class8 = [smallSizeMax/smallSizeDiv + 1]uint8{0, 1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31}
    95  var size_to_class128 = [(_MaxSmallSize-smallSizeMax)/largeSizeDiv + 1]uint8{31, 32, 33, 34, 35, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 40, 40, 41, 42, 42, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 47, 47, 47, 48, 48, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66}