sizeof(Str) = 16 sizeof(List) = 24 sizeof(Dict) = 40 sizeof(Obj) = 8 sizeof(Heap) = 8264 kStrHeaderSize = 12 aligned(kStrHeaderSize + 1) = 16 sizeof(LayoutForwarded) = 16 --> COLLECT with 0 roots --> COLLECT with 0 roots p = 0x7f4337bee000 q = 0x7f4338b32000 .0 -> 8 1 -> 8 2 -> 8 3 -> 8 4 -> 8 5 -> 8 8 -> 8 9 -> 16 12 -> 16 16 -> 16 256 -> 256 257 -> 512 1073741824 -> 1073741824 1073741825 -> -2147483648 .--> COLLECT with 2 roots --> COLLECT with 2 roots .--> COLLECT with 0 roots --> COLLECT with 1 roots --> COLLECT with 2 roots --> COLLECT with 4 roots --> COLLECT with 6 roots extending --> COLLECT with 3 roots --> COLLECT with 5 roots --> COLLECT with 7 roots list1_ = 0x7f4338b32000 list1->slab_ = 0x7f4338b320e0 --> COLLECT with 4 roots str1 = 0x7f4337bee100 --> COLLECT with 5 roots str2 = 0x7f4338b32110 --> COLLECT with 9 roots ...--> COLLECT with 0 roots --> COLLECT with 1 roots --> COLLECT with 8 roots --> COLLECT with 8 roots --> COLLECT with 8 roots i = 0, capacity = 6 i = 1, capacity = 6 i = 2, capacity = 6 i = 3, capacity = 6 --> COLLECT with 8 roots --> COLLECT with 8 roots --> COLLECT with 8 roots i = 4, capacity = 14 i = 5, capacity = 14 i = 6, capacity = 14 i = 7, capacity = 14 i = 8, capacity = 14 i = 9, capacity = 14 i = 10, capacity = 14 i = 11, capacity = 14 --> COLLECT with 8 roots --> COLLECT with 8 roots --> COLLECT with 8 roots i = 12, capacity = 30 i = 13, capacity = 30 --> COLLECT with 4 roots --> COLLECT with 4 roots --> COLLECT with 12 roots --> COLLECT with 12 roots --> COLLECT with 12 roots --> COLLECT with 4 roots --> COLLECT with 12 roots --> COLLECT with 12 roots --> COLLECT with 12 roots --> COLLECT with 5 roots --> COLLECT with 13 roots --> COLLECT with 13 roots --> COLLECT with 13 roots ..--> COLLECT with 2 roots --> COLLECT with 2 roots .--> COLLECT with 0 roots --> COLLECT with 3 roots List mask = 2 --> COLLECT with 1 roots --> COLLECT with 2 roots --> COLLECT with 10 roots --> COLLECT with 10 roots --> COLLECT with 10 roots Dict mask = 14 MASK: i = 1, p = 0x7f43379ee0c0, heap_tag = 5 MASK: i = 1, p = 0x7f43379ee060, heap_tag = 5 i = 2, p = 0x7f43379ee080, heap_tag = 9 i = 3, p = 0x7f43379ee0e0, heap_tag = 5 --> COLLECT with 3 roots --> COLLECT with 4 roots --> COLLECT with 8 roots slab len = 64, n = 7 p = 0x7f4337aee080 p = 0x7f4337aee080 p = nullptr p = nullptr p = nullptr p = nullptr p = nullptr ..method = 4 BaseObj obj_len_ = 24 derived b3->obj_len_ = 32 sizeof(d3) = 32 c3[0] = 88 c3[1] = ac c3[2] = dc c3[8] = 5 c3[12] = 20 c3[16] = fe c3[20] = fd obj->heap_tag_ 136 obj->obj_len_ 21864 obj->heap_tag_ 5 obj->obj_len_ 32 .--> COLLECT with 1 roots --> COLLECT with 1 roots --> COLLECT with 1 roots .. Total: 14 tests (20728 ticks, 0.021 sec), 126 assertions Pass: 14, fail: 0, skip: 0.