提交 1082c672 编写于 作者: J johnc

6895788: G1: SATB and update buffer allocation code allocates too much space

Summary: The type in the NEW_C_HEAP_ARRRY and FREE_C_HEAP_ARRAY calls in the buffer allocation code was changed from void* to char as the size argument had already been mulitipled by the byte size of an object pointer.
Reviewed-by: ysr, tonyp
上级 220e1409
......@@ -107,7 +107,7 @@ void** PtrQueueSet::allocate_buffer() {
res[0] = NULL;
return res;
} else {
return NEW_C_HEAP_ARRAY(void*, _sz);
return (void**) NEW_C_HEAP_ARRAY(char, _sz);
}
}
......@@ -127,7 +127,8 @@ void PtrQueueSet::reduce_free_list() {
assert(_buf_free_list != NULL, "_buf_free_list_sz must be wrong.");
void** head = _buf_free_list;
_buf_free_list = (void**)_buf_free_list[0];
FREE_C_HEAP_ARRAY(void*,head);
FREE_C_HEAP_ARRAY(char, head);
_buf_free_list_sz --;
n--;
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册