зеркало из https://github.com/github/ruby.git
* gc.c (gc_start_internal): do not use rb_gc_start() and rb_gc().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
b10a8c52e3
Коммит
0e20c2afa8
|
@ -1,3 +1,7 @@
|
|||
Fri Dec 6 16:16:30 2013 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* gc.c (gc_start_internal): do not use rb_gc_start() and rb_gc().
|
||||
|
||||
Fri Dec 6 15:24:30 2013 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* gc.c (gc_start_internal, rb_gc): do not need
|
||||
|
|
31
gc.c
31
gc.c
|
@ -5019,24 +5019,23 @@ gc_start_internal(int argc, VALUE *argv, VALUE self)
|
|||
static VALUE keyword_syms[2];
|
||||
|
||||
rb_scan_args(argc, argv, "0:", &opt);
|
||||
if (NIL_P(opt)) {
|
||||
return rb_gc_start();
|
||||
|
||||
if (!NIL_P(opt)) {
|
||||
if (!keyword_ids[0]) {
|
||||
keyword_ids[0] = rb_intern("full_mark");
|
||||
keyword_ids[1] = rb_intern("immediate_sweep");
|
||||
keyword_syms[0] = ID2SYM(keyword_ids[0]);
|
||||
keyword_syms[1] = ID2SYM(keyword_ids[1]);
|
||||
}
|
||||
|
||||
rb_check_keyword_opthash(opt, keyword_ids, 0, 2);
|
||||
|
||||
if ((kwval = rb_hash_lookup2(opt, keyword_syms[0], Qundef)) != Qundef)
|
||||
full_mark = RTEST(kwval);
|
||||
if ((kwval = rb_hash_lookup2(opt, keyword_syms[1], Qundef)) != Qundef)
|
||||
immediate_sweep = RTEST(kwval);
|
||||
}
|
||||
|
||||
if (!keyword_ids[0]) {
|
||||
keyword_ids[0] = rb_intern("full_mark");
|
||||
keyword_ids[1] = rb_intern("immediate_sweep");
|
||||
keyword_syms[0] = ID2SYM(keyword_ids[0]);
|
||||
keyword_syms[1] = ID2SYM(keyword_ids[1]);
|
||||
}
|
||||
|
||||
rb_check_keyword_opthash(opt, keyword_ids, 0, 2);
|
||||
|
||||
if ((kwval = rb_hash_lookup2(opt, keyword_syms[0], Qundef)) != Qundef)
|
||||
full_mark = RTEST(kwval);
|
||||
if ((kwval = rb_hash_lookup2(opt, keyword_syms[1], Qundef)) != Qundef)
|
||||
immediate_sweep = RTEST(kwval);
|
||||
|
||||
garbage_collect(objspace, full_mark, immediate_sweep, GPR_FLAG_METHOD);
|
||||
if (!finalizing) finalize_deferred(objspace);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче