mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Adjust indent
This commit is contained in:
parent
9f941f61ef
commit
09a2189c1b
1 changed files with 221 additions and 221 deletions
442
gc.c
442
gc.c
|
@ -7307,47 +7307,47 @@ gc_is_moveable_obj(rb_objspace_t *objspace, VALUE obj)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(BUILTIN_TYPE(obj)) {
|
switch (BUILTIN_TYPE(obj)) {
|
||||||
case T_NONE:
|
case T_NONE:
|
||||||
case T_NIL:
|
case T_NIL:
|
||||||
case T_MOVED:
|
case T_MOVED:
|
||||||
case T_ZOMBIE:
|
case T_ZOMBIE:
|
||||||
|
return FALSE;
|
||||||
|
break;
|
||||||
|
case T_SYMBOL:
|
||||||
|
if (DYNAMIC_SYM_P(obj) && (RSYMBOL(obj)->id & ~ID_SCOPE_MASK)) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
break;
|
}
|
||||||
case T_SYMBOL:
|
/* fall through */
|
||||||
if (DYNAMIC_SYM_P(obj) && (RSYMBOL(obj)->id & ~ID_SCOPE_MASK)) {
|
case T_STRING:
|
||||||
|
case T_OBJECT:
|
||||||
|
case T_FLOAT:
|
||||||
|
case T_IMEMO:
|
||||||
|
case T_ARRAY:
|
||||||
|
case T_BIGNUM:
|
||||||
|
case T_ICLASS:
|
||||||
|
case T_MODULE:
|
||||||
|
case T_REGEXP:
|
||||||
|
case T_DATA:
|
||||||
|
case T_MATCH:
|
||||||
|
case T_STRUCT:
|
||||||
|
case T_HASH:
|
||||||
|
case T_FILE:
|
||||||
|
case T_COMPLEX:
|
||||||
|
case T_RATIONAL:
|
||||||
|
case T_NODE:
|
||||||
|
case T_CLASS:
|
||||||
|
if (FL_TEST(obj, FL_FINALIZE)) {
|
||||||
|
if (st_lookup(finalizer_table, obj, 0)) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
/* fall through */
|
}
|
||||||
case T_STRING:
|
return !RVALUE_PINNED(obj);
|
||||||
case T_OBJECT:
|
break;
|
||||||
case T_FLOAT:
|
|
||||||
case T_IMEMO:
|
|
||||||
case T_ARRAY:
|
|
||||||
case T_BIGNUM:
|
|
||||||
case T_ICLASS:
|
|
||||||
case T_MODULE:
|
|
||||||
case T_REGEXP:
|
|
||||||
case T_DATA:
|
|
||||||
case T_MATCH:
|
|
||||||
case T_STRUCT:
|
|
||||||
case T_HASH:
|
|
||||||
case T_FILE:
|
|
||||||
case T_COMPLEX:
|
|
||||||
case T_RATIONAL:
|
|
||||||
case T_NODE:
|
|
||||||
case T_CLASS:
|
|
||||||
if (FL_TEST(obj, FL_FINALIZE)) {
|
|
||||||
if (st_lookup(finalizer_table, obj, 0)) {
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return !RVALUE_PINNED(obj);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
rb_bug("gc_is_moveable_obj: unreachable (%d)", (int)BUILTIN_TYPE(obj));
|
rb_bug("gc_is_moveable_obj: unreachable (%d)", (int)BUILTIN_TYPE(obj));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -7819,48 +7819,48 @@ gc_update_values(rb_objspace_t *objspace, long n, VALUE *values)
|
||||||
static void
|
static void
|
||||||
gc_ref_update_imemo(rb_objspace_t *objspace, VALUE obj)
|
gc_ref_update_imemo(rb_objspace_t *objspace, VALUE obj)
|
||||||
{
|
{
|
||||||
switch(imemo_type(obj)) {
|
switch (imemo_type(obj)) {
|
||||||
case imemo_env:
|
case imemo_env:
|
||||||
{
|
{
|
||||||
rb_env_t *env = (rb_env_t *)obj;
|
rb_env_t *env = (rb_env_t *)obj;
|
||||||
TYPED_UPDATE_IF_MOVED(objspace, rb_iseq_t *, env->iseq);
|
TYPED_UPDATE_IF_MOVED(objspace, rb_iseq_t *, env->iseq);
|
||||||
gc_update_values(objspace, (long)env->env_size, (VALUE *)env->env);
|
gc_update_values(objspace, (long)env->env_size, (VALUE *)env->env);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
break;
|
break;
|
||||||
case imemo_cref:
|
case imemo_cref:
|
||||||
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.cref.klass);
|
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.cref.klass);
|
||||||
TYPED_UPDATE_IF_MOVED(objspace, struct rb_cref_struct *, RANY(obj)->as.imemo.cref.next);
|
TYPED_UPDATE_IF_MOVED(objspace, struct rb_cref_struct *, RANY(obj)->as.imemo.cref.next);
|
||||||
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.cref.refinements);
|
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.cref.refinements);
|
||||||
break;
|
break;
|
||||||
case imemo_svar:
|
case imemo_svar:
|
||||||
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.svar.cref_or_me);
|
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.svar.cref_or_me);
|
||||||
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.svar.lastline);
|
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.svar.lastline);
|
||||||
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.svar.backref);
|
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.svar.backref);
|
||||||
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.svar.others);
|
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.svar.others);
|
||||||
break;
|
break;
|
||||||
case imemo_throw_data:
|
case imemo_throw_data:
|
||||||
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.throw_data.throw_obj);
|
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.throw_data.throw_obj);
|
||||||
break;
|
break;
|
||||||
case imemo_ifunc:
|
case imemo_ifunc:
|
||||||
break;
|
break;
|
||||||
case imemo_memo:
|
case imemo_memo:
|
||||||
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.memo.v1);
|
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.memo.v1);
|
||||||
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.memo.v2);
|
UPDATE_IF_MOVED(objspace, RANY(obj)->as.imemo.memo.v2);
|
||||||
break;
|
break;
|
||||||
case imemo_ment:
|
case imemo_ment:
|
||||||
gc_ref_update_method_entry(objspace, &RANY(obj)->as.imemo.ment);
|
gc_ref_update_method_entry(objspace, &RANY(obj)->as.imemo.ment);
|
||||||
break;
|
break;
|
||||||
case imemo_iseq:
|
case imemo_iseq:
|
||||||
rb_iseq_update_references((rb_iseq_t *)obj);
|
rb_iseq_update_references((rb_iseq_t *)obj);
|
||||||
break;
|
break;
|
||||||
case imemo_ast:
|
case imemo_ast:
|
||||||
case imemo_parser_strterm:
|
case imemo_parser_strterm:
|
||||||
case imemo_tmpbuf:
|
case imemo_tmpbuf:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
rb_bug("not reachable %d", imemo_type(obj));
|
rb_bug("not reachable %d", imemo_type(obj));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7977,145 +7977,145 @@ gc_update_object_references(rb_objspace_t *objspace, VALUE obj)
|
||||||
|
|
||||||
gc_report(4, objspace, "update-refs: %p ->", (void *)obj);
|
gc_report(4, objspace, "update-refs: %p ->", (void *)obj);
|
||||||
|
|
||||||
switch(BUILTIN_TYPE(obj)) {
|
switch (BUILTIN_TYPE(obj)) {
|
||||||
case T_CLASS:
|
case T_CLASS:
|
||||||
case T_MODULE:
|
case T_MODULE:
|
||||||
|
update_m_tbl(objspace, RCLASS_M_TBL(obj));
|
||||||
|
if (RCLASS_SUPER((VALUE)obj)) {
|
||||||
|
UPDATE_IF_MOVED(objspace, RCLASS(obj)->super);
|
||||||
|
}
|
||||||
|
if (!RCLASS_EXT(obj)) break;
|
||||||
|
if (RCLASS_IV_TBL(obj)) {
|
||||||
|
gc_update_table_refs(objspace, RCLASS_IV_TBL(obj));
|
||||||
|
}
|
||||||
|
update_class_ext(objspace, RCLASS_EXT(obj));
|
||||||
|
update_const_tbl(objspace, RCLASS_CONST_TBL(obj));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case T_ICLASS:
|
||||||
|
if (FL_TEST(obj, RICLASS_IS_ORIGIN)) {
|
||||||
update_m_tbl(objspace, RCLASS_M_TBL(obj));
|
update_m_tbl(objspace, RCLASS_M_TBL(obj));
|
||||||
if (RCLASS_SUPER((VALUE)obj)) {
|
}
|
||||||
UPDATE_IF_MOVED(objspace, RCLASS(obj)->super);
|
if (RCLASS_SUPER((VALUE)obj)) {
|
||||||
}
|
UPDATE_IF_MOVED(objspace, RCLASS(obj)->super);
|
||||||
if (!RCLASS_EXT(obj)) break;
|
}
|
||||||
if (RCLASS_IV_TBL(obj)) {
|
if (!RCLASS_EXT(obj)) break;
|
||||||
gc_update_table_refs(objspace, RCLASS_IV_TBL(obj));
|
if (RCLASS_IV_TBL(obj)) {
|
||||||
}
|
gc_update_table_refs(objspace, RCLASS_IV_TBL(obj));
|
||||||
update_class_ext(objspace, RCLASS_EXT(obj));
|
}
|
||||||
update_const_tbl(objspace, RCLASS_CONST_TBL(obj));
|
update_class_ext(objspace, RCLASS_EXT(obj));
|
||||||
break;
|
update_m_tbl(objspace, RCLASS_CALLABLE_M_TBL(obj));
|
||||||
|
break;
|
||||||
|
|
||||||
case T_ICLASS:
|
case T_IMEMO:
|
||||||
if (FL_TEST(obj, RICLASS_IS_ORIGIN)) {
|
gc_ref_update_imemo(objspace, obj);
|
||||||
update_m_tbl(objspace, RCLASS_M_TBL(obj));
|
break;
|
||||||
}
|
|
||||||
if (RCLASS_SUPER((VALUE)obj)) {
|
|
||||||
UPDATE_IF_MOVED(objspace, RCLASS(obj)->super);
|
|
||||||
}
|
|
||||||
if (!RCLASS_EXT(obj)) break;
|
|
||||||
if (RCLASS_IV_TBL(obj)) {
|
|
||||||
gc_update_table_refs(objspace, RCLASS_IV_TBL(obj));
|
|
||||||
}
|
|
||||||
update_class_ext(objspace, RCLASS_EXT(obj));
|
|
||||||
update_m_tbl(objspace, RCLASS_CALLABLE_M_TBL(obj));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case T_IMEMO:
|
case T_NIL:
|
||||||
gc_ref_update_imemo(objspace, obj);
|
case T_FIXNUM:
|
||||||
break;
|
case T_NODE:
|
||||||
|
case T_MOVED:
|
||||||
|
case T_NONE:
|
||||||
|
/* These can't move */
|
||||||
|
return;
|
||||||
|
|
||||||
case T_NIL:
|
case T_ARRAY:
|
||||||
case T_FIXNUM:
|
if (FL_TEST(obj, ELTS_SHARED)) {
|
||||||
case T_NODE:
|
UPDATE_IF_MOVED(objspace, any->as.array.as.heap.aux.shared);
|
||||||
case T_MOVED:
|
}
|
||||||
case T_NONE:
|
else {
|
||||||
/* These can't move */
|
gc_ref_update_array(objspace, obj);
|
||||||
return;
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case T_ARRAY:
|
case T_HASH:
|
||||||
if (FL_TEST(obj, ELTS_SHARED)) {
|
gc_ref_update_hash(objspace, obj);
|
||||||
UPDATE_IF_MOVED(objspace, any->as.array.as.heap.aux.shared);
|
UPDATE_IF_MOVED(objspace, any->as.hash.ifnone);
|
||||||
}
|
break;
|
||||||
else {
|
|
||||||
gc_ref_update_array(objspace, obj);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case T_HASH:
|
case T_STRING:
|
||||||
gc_ref_update_hash(objspace, obj);
|
if (STR_SHARED_P(obj)) {
|
||||||
UPDATE_IF_MOVED(objspace, any->as.hash.ifnone);
|
UPDATE_IF_MOVED(objspace, any->as.string.as.heap.aux.shared);
|
||||||
break;
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case T_STRING:
|
case T_DATA:
|
||||||
if (STR_SHARED_P(obj)) {
|
/* Call the compaction callback, if it exists */
|
||||||
UPDATE_IF_MOVED(objspace, any->as.string.as.heap.aux.shared);
|
{
|
||||||
}
|
void *const ptr = DATA_PTR(obj);
|
||||||
break;
|
if (ptr) {
|
||||||
|
if (RTYPEDDATA_P(obj)) {
|
||||||
case T_DATA:
|
RUBY_DATA_FUNC compact_func = any->as.typeddata.type->function.dcompact;
|
||||||
/* Call the compaction callback, if it exists */
|
if (compact_func) (*compact_func)(ptr);
|
||||||
{
|
|
||||||
void *const ptr = DATA_PTR(obj);
|
|
||||||
if (ptr) {
|
|
||||||
if (RTYPEDDATA_P(obj)) {
|
|
||||||
RUBY_DATA_FUNC compact_func = any->as.typeddata.type->function.dcompact;
|
|
||||||
if (compact_func) (*compact_func)(ptr);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case T_OBJECT:
|
case T_OBJECT:
|
||||||
gc_ref_update_object(objspace, obj);
|
gc_ref_update_object(objspace, obj);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case T_FILE:
|
case T_FILE:
|
||||||
if (any->as.file.fptr) {
|
if (any->as.file.fptr) {
|
||||||
UPDATE_IF_MOVED(objspace, any->as.file.fptr->pathv);
|
UPDATE_IF_MOVED(objspace, any->as.file.fptr->pathv);
|
||||||
UPDATE_IF_MOVED(objspace, any->as.file.fptr->tied_io_for_writing);
|
UPDATE_IF_MOVED(objspace, any->as.file.fptr->tied_io_for_writing);
|
||||||
UPDATE_IF_MOVED(objspace, any->as.file.fptr->writeconv_asciicompat);
|
UPDATE_IF_MOVED(objspace, any->as.file.fptr->writeconv_asciicompat);
|
||||||
UPDATE_IF_MOVED(objspace, any->as.file.fptr->writeconv_pre_ecopts);
|
UPDATE_IF_MOVED(objspace, any->as.file.fptr->writeconv_pre_ecopts);
|
||||||
UPDATE_IF_MOVED(objspace, any->as.file.fptr->encs.ecopts);
|
UPDATE_IF_MOVED(objspace, any->as.file.fptr->encs.ecopts);
|
||||||
UPDATE_IF_MOVED(objspace, any->as.file.fptr->write_lock);
|
UPDATE_IF_MOVED(objspace, any->as.file.fptr->write_lock);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case T_REGEXP:
|
||||||
|
UPDATE_IF_MOVED(objspace, any->as.regexp.src);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case T_SYMBOL:
|
||||||
|
if (DYNAMIC_SYM_P((VALUE)any)) {
|
||||||
|
UPDATE_IF_MOVED(objspace, RSYMBOL(any)->fstr);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case T_FLOAT:
|
||||||
|
case T_BIGNUM:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case T_MATCH:
|
||||||
|
UPDATE_IF_MOVED(objspace, any->as.match.regexp);
|
||||||
|
|
||||||
|
if (any->as.match.str) {
|
||||||
|
UPDATE_IF_MOVED(objspace, any->as.match.str);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case T_RATIONAL:
|
||||||
|
UPDATE_IF_MOVED(objspace, any->as.rational.num);
|
||||||
|
UPDATE_IF_MOVED(objspace, any->as.rational.den);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case T_COMPLEX:
|
||||||
|
UPDATE_IF_MOVED(objspace, any->as.complex.real);
|
||||||
|
UPDATE_IF_MOVED(objspace, any->as.complex.imag);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case T_STRUCT:
|
||||||
|
{
|
||||||
|
long i, len = RSTRUCT_LEN(obj);
|
||||||
|
VALUE *ptr = (VALUE *)RSTRUCT_CONST_PTR(obj);
|
||||||
|
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
UPDATE_IF_MOVED(objspace, ptr[i]);
|
||||||
}
|
}
|
||||||
break;
|
}
|
||||||
case T_REGEXP:
|
break;
|
||||||
UPDATE_IF_MOVED(objspace, any->as.regexp.src);
|
default:
|
||||||
break;
|
|
||||||
|
|
||||||
case T_SYMBOL:
|
|
||||||
if (DYNAMIC_SYM_P((VALUE)any)) {
|
|
||||||
UPDATE_IF_MOVED(objspace, RSYMBOL(any)->fstr);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case T_FLOAT:
|
|
||||||
case T_BIGNUM:
|
|
||||||
break;
|
|
||||||
|
|
||||||
case T_MATCH:
|
|
||||||
UPDATE_IF_MOVED(objspace, any->as.match.regexp);
|
|
||||||
|
|
||||||
if (any->as.match.str) {
|
|
||||||
UPDATE_IF_MOVED(objspace, any->as.match.str);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case T_RATIONAL:
|
|
||||||
UPDATE_IF_MOVED(objspace, any->as.rational.num);
|
|
||||||
UPDATE_IF_MOVED(objspace, any->as.rational.den);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case T_COMPLEX:
|
|
||||||
UPDATE_IF_MOVED(objspace, any->as.complex.real);
|
|
||||||
UPDATE_IF_MOVED(objspace, any->as.complex.imag);
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case T_STRUCT:
|
|
||||||
{
|
|
||||||
long i, len = RSTRUCT_LEN(obj);
|
|
||||||
VALUE *ptr = (VALUE *)RSTRUCT_CONST_PTR(obj);
|
|
||||||
|
|
||||||
for (i = 0; i < len; i++) {
|
|
||||||
UPDATE_IF_MOVED(objspace, ptr[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
#if GC_DEBUG
|
#if GC_DEBUG
|
||||||
rb_gcdebug_print_obj_condition((VALUE)obj);
|
rb_gcdebug_print_obj_condition((VALUE)obj);
|
||||||
rb_obj_info_dump(obj);
|
rb_obj_info_dump(obj);
|
||||||
rb_bug("unreachable");
|
rb_bug("unreachable");
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8146,23 +8146,23 @@ gc_ref_update(void *vstart, void *vend, size_t stride, void * data)
|
||||||
void *poisoned = asan_poisoned_object_p(v);
|
void *poisoned = asan_poisoned_object_p(v);
|
||||||
asan_unpoison_object(v, false);
|
asan_unpoison_object(v, false);
|
||||||
|
|
||||||
switch(BUILTIN_TYPE(v)) {
|
switch (BUILTIN_TYPE(v)) {
|
||||||
case T_NONE:
|
case T_NONE:
|
||||||
heap_page_add_freeobj(objspace, page, v);
|
heap_page_add_freeobj(objspace, page, v);
|
||||||
free_slots++;
|
free_slots++;
|
||||||
break;
|
break;
|
||||||
case T_MOVED:
|
case T_MOVED:
|
||||||
break;
|
break;
|
||||||
case T_ZOMBIE:
|
case T_ZOMBIE:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (RVALUE_WB_UNPROTECTED(v)) {
|
if (RVALUE_WB_UNPROTECTED(v)) {
|
||||||
page->flags.has_uncollectible_shady_objects = TRUE;
|
page->flags.has_uncollectible_shady_objects = TRUE;
|
||||||
}
|
}
|
||||||
if (RVALUE_PAGE_MARKING(page, v)) {
|
if (RVALUE_PAGE_MARKING(page, v)) {
|
||||||
page->flags.has_remembered_objects = TRUE;
|
page->flags.has_remembered_objects = TRUE;
|
||||||
}
|
}
|
||||||
gc_update_object_references(objspace, v);
|
gc_update_object_references(objspace, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (poisoned) {
|
if (poisoned) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue