mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
use malloc() instead of calloc().
Here malloc() is enough because all elements of the page_list will be overwrite.
This commit is contained in:
parent
f9401d5d44
commit
f3bddc103d
1 changed files with 7 additions and 3 deletions
10
gc.c
10
gc.c
|
@ -7570,14 +7570,18 @@ typedef int page_compare_func_t(const void *, const void *, void *);
|
|||
static struct heap_page **
|
||||
allocate_page_list(rb_objspace_t *objspace, page_compare_func_t *comparator)
|
||||
{
|
||||
size_t n = heap_eden->total_pages;
|
||||
struct heap_page *page, **page_list = calloc(n, sizeof(struct heap_page *));
|
||||
size_t total_pages = heap_eden->total_pages;
|
||||
struct heap_page *page, **page_list = malloc(total_pages * sizeof(struct heap_page *));
|
||||
int i = 0;
|
||||
|
||||
list_for_each(&heap_eden->pages, page, page_node) {
|
||||
page_list[i++] = page;
|
||||
GC_ASSERT(page != NULL);
|
||||
}
|
||||
ruby_qsort(page_list, n, sizeof(struct heap_page *), comparator, NULL);
|
||||
GC_ASSERT(total_pages > 0);
|
||||
GC_ASSERT((size_t)i == total_pages);
|
||||
|
||||
ruby_qsort(page_list, total_pages, sizeof(struct heap_page *), comparator, NULL);
|
||||
|
||||
return page_list;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue