@@ -1261,11 +1261,8 @@ rb_obj_fields(VALUE obj, ID field_name)
12611261 if (rb_shape_obj_has_fields (obj )) {
12621262 switch (BUILTIN_TYPE (obj )) {
12631263 case T_DATA :
1264- if (LIKELY (RTYPEDDATA_P (obj ))) {
1265- fields_obj = RTYPEDDATA (obj )-> fields_obj ;
1266- break ;
1267- }
1268- goto generic_fields ;
1264+ fields_obj = RTYPEDDATA (obj )-> fields_obj ;
1265+ break ;
12691266 case T_STRUCT :
12701267 if (LIKELY (!FL_TEST_RAW (obj , RSTRUCT_GEN_FIELDS ))) {
12711268 fields_obj = RSTRUCT_FIELDS_OBJ (obj );
@@ -1298,11 +1295,8 @@ rb_free_generic_ivar(VALUE obj)
12981295 st_data_t key = (st_data_t )obj , value ;
12991296 switch (BUILTIN_TYPE (obj )) {
13001297 case T_DATA :
1301- if (LIKELY (RTYPEDDATA_P (obj ))) {
1302- RB_OBJ_WRITE (obj , & RTYPEDDATA (obj )-> fields_obj , 0 );
1303- break ;
1304- }
1305- goto generic_fields ;
1298+ RB_OBJ_WRITE (obj , & RTYPEDDATA (obj )-> fields_obj , 0 );
1299+ break ;
13061300 case T_STRUCT :
13071301 if (LIKELY (!FL_TEST_RAW (obj , RSTRUCT_GEN_FIELDS ))) {
13081302 RSTRUCT_SET_FIELDS_OBJ (obj , 0 );
@@ -1348,11 +1342,8 @@ rb_obj_set_fields(VALUE obj, VALUE fields_obj, ID field_name, VALUE original_fie
13481342 if (fields_obj != original_fields_obj ) {
13491343 switch (BUILTIN_TYPE (obj )) {
13501344 case T_DATA :
1351- if (LIKELY (RTYPEDDATA_P (obj ))) {
1352- RB_OBJ_WRITE (obj , & RTYPEDDATA (obj )-> fields_obj , fields_obj );
1353- break ;
1354- }
1355- goto generic_fields ;
1345+ RB_OBJ_WRITE (obj , & RTYPEDDATA (obj )-> fields_obj , fields_obj );
1346+ break ;
13561347 case T_STRUCT :
13571348 if (LIKELY (!FL_TEST_RAW (obj , RSTRUCT_GEN_FIELDS ))) {
13581349 RSTRUCT_SET_FIELDS_OBJ (obj , fields_obj );
0 commit comments