mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
gc.c: objspace_malloc_fixup
* gc.c (objspace_malloc_fixup): include allocated size managements. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
cbca6dc4ce
commit
6ed69699cd
1 changed files with 3 additions and 4 deletions
7
gc.c
7
gc.c
|
@ -7818,6 +7818,9 @@ objspace_malloc_prepare(rb_objspace_t *objspace, size_t size)
|
||||||
static inline void *
|
static inline void *
|
||||||
objspace_malloc_fixup(rb_objspace_t *objspace, void *mem, size_t size)
|
objspace_malloc_fixup(rb_objspace_t *objspace, void *mem, size_t size)
|
||||||
{
|
{
|
||||||
|
size = objspace_malloc_size(objspace, mem, size);
|
||||||
|
objspace_malloc_increase(objspace, mem, size, 0, MEMOP_TYPE_MALLOC);
|
||||||
|
|
||||||
#if CALC_EXACT_MALLOC_SIZE
|
#if CALC_EXACT_MALLOC_SIZE
|
||||||
((size_t *)mem)[0] = size;
|
((size_t *)mem)[0] = size;
|
||||||
mem = (size_t *)mem + 1;
|
mem = (size_t *)mem + 1;
|
||||||
|
@ -7845,8 +7848,6 @@ objspace_xmalloc0(rb_objspace_t *objspace, size_t size)
|
||||||
|
|
||||||
size = objspace_malloc_prepare(objspace, size);
|
size = objspace_malloc_prepare(objspace, size);
|
||||||
TRY_WITH_GC(mem = malloc(size));
|
TRY_WITH_GC(mem = malloc(size));
|
||||||
size = objspace_malloc_size(objspace, mem, size);
|
|
||||||
objspace_malloc_increase(objspace, mem, size, 0, MEMOP_TYPE_MALLOC);
|
|
||||||
return objspace_malloc_fixup(objspace, mem, size);
|
return objspace_malloc_fixup(objspace, mem, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7962,8 +7963,6 @@ objspace_xcalloc(rb_objspace_t *objspace, size_t count, size_t elsize)
|
||||||
size = objspace_malloc_prepare(objspace, size);
|
size = objspace_malloc_prepare(objspace, size);
|
||||||
|
|
||||||
TRY_WITH_GC(mem = calloc(1, size));
|
TRY_WITH_GC(mem = calloc(1, size));
|
||||||
size = objspace_malloc_size(objspace, mem, size);
|
|
||||||
objspace_malloc_increase(objspace, mem, size, 0, MEMOP_TYPE_MALLOC);
|
|
||||||
return objspace_malloc_fixup(objspace, mem, size);
|
return objspace_malloc_fixup(objspace, mem, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue