-
Notifications
You must be signed in to change notification settings - Fork 119
Open
Description
ThreadCache.cpp 的 returnToCentralCache 函数中的以下代码:
// 使用对齐后的大小计算分割点
char* splitNode = current;
for (size_t i = 0; i < keepNum - 1; ++i)
{
splitNode = reinterpret_cast<char*>(*reinterpret_cast<void**>(splitNode));
if (splitNode == nullptr)
{
// 如果链表提前结束,更新实际的返回数量
returnNum = batchNum - (i + 1);
break;
}
}注释提到使用对齐后的大小计算分割点,但实际代码采取链表遍历的方式计算分割点,并没显式调用之前计算的对齐后内存大小:
// 获取对齐后的实际块大小
size_t alignedSize = SizeClass::roundUp(size);能否修改为:
splitNode += alignedSize;并通过计数来判断链表是否提前结束?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels