Skip to content

Commit d44044c

Browse files
committed
objspace_dump.c: include more information about IMEMO/fields
1 parent 5313d60 commit d44044c

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

ext/objspace/objspace_dump.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ dump_object(VALUE obj, struct dump_config *dc)
394394

395395
dc->cur_obj = obj;
396396
dc->cur_obj_references = 0;
397-
if (BUILTIN_TYPE(obj) == T_NODE || BUILTIN_TYPE(obj) == T_IMEMO) {
397+
if (BUILTIN_TYPE(obj) == T_NODE || (BUILTIN_TYPE(obj) == T_IMEMO && !IMEMO_TYPE_P(obj, imemo_fields))) {
398398
dc->cur_obj_klass = 0;
399399
} else {
400400
dc->cur_obj_klass = RBASIC_CLASS(obj);
@@ -414,8 +414,8 @@ dump_object(VALUE obj, struct dump_config *dc)
414414
dump_append(dc, obj_type(obj));
415415
dump_append(dc, "\"");
416416

417-
if (BUILTIN_TYPE(obj) != T_IMEMO) {
418-
size_t shape_id = rb_obj_shape_id(obj);
417+
if (BUILTIN_TYPE(obj) != T_IMEMO || IMEMO_TYPE_P(obj, imemo_fields)) {
418+
size_t shape_id = rb_obj_shape_id(obj) & SHAPE_ID_OFFSET_MASK;
419419
dump_append(dc, ", \"shape_id\":");
420420
dump_append_sizet(dc, shape_id);
421421
}

0 commit comments

Comments
 (0)