summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-25 21:34:35 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-25 21:34:35 +0000
commit48a2b96d2b8228a1c7dd49425fccd8b1202bf905 (patch)
tree2b584a1e13e292481269507051d79bf6358e3257 /gc.c
parent5c094d381bca5d244495a7f4a94572c1f4562c28 (diff)
introduce ZALLOC{,_N} to replace ALLOC{,_N}+MEMZERO use
Using calloc where possible reduces code and binary sizes. * include/ruby/ruby.h (ZALLOC, ZALLOC_N): implement (Data_Make_Struct, TypedData_Make_Struct): ZALLOC replaces ALLOC+memset * compile.c (iseq_seq_sequence): ZALLOC_N replaces ALLOC_N+MEMZERO * cont.c (fiber_t_alloc): ZALLOC replaces ALLOC+MEMZERO * io.c (rb_io_reopen): ditto * iseq.c (prepare_iseq_build): ditto * parse.y (new_args_tail_gen, parser_new, ripper_s_allocate): ditto * re.c (match_alloc): ditto * variable.c (rb_const_set): ditto * ext/socket/raddrinfo.c (get_addrinfo): ditto * ext/strscan/strscan.c (strscan_s_allocate): ditto * gc.c (rb_objspace_alloc): calloc replaces malloc+MEMZERO git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gc.c b/gc.c
index ae3f570ad1..f67caa62d7 100644
--- a/gc.c
+++ b/gc.c
@@ -920,8 +920,7 @@ RVALUE_DEMOTE_FROM_OLD(rb_objspace_t *objspace, VALUE obj)
rb_objspace_t *
rb_objspace_alloc(void)
{
- rb_objspace_t *objspace = malloc(sizeof(rb_objspace_t));
- memset(objspace, 0, sizeof(*objspace));
+ rb_objspace_t *objspace = calloc(1, sizeof(rb_objspace_t));
ruby_gc_stress = ruby_initial_gc_stress;
malloc_limit = gc_params.malloc_limit_min;
@@ -1087,13 +1086,12 @@ heap_page_allocate(rb_objspace_t *objspace)
}
/* assign heap_page entry */
- page = (struct heap_page *)malloc(sizeof(struct heap_page));
+ page = (struct heap_page *)calloc(1, sizeof(struct heap_page));
if (page == 0) {
aligned_free(page_body);
during_gc = 0;
rb_memerror();
}
- MEMZERO((void*)page, struct heap_page, 1);
page->body = page_body;