summaryrefslogtreecommitdiff
path: root/ext/objspace/objspace_dump.c
diff options
context:
space:
mode:
authorJemma Issroff <jemmaissroff@gmail.com>2022-12-15 13:42:24 -0500
committerAaron Patterson <aaron.patterson@gmail.com>2022-12-15 13:41:47 -0800
commite9ba3042e13313944fd2695731d0d7498532b80f (patch)
treef4a9c06093de20ad0f2ce8971db8dcb9cba260ac /ext/objspace/objspace_dump.c
parentc505448cdbd4cd1a52ed7108095f6738d29b3419 (diff)
Indicate if a shape is too_complex in ObjectSpace#dump
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/6939
Diffstat (limited to 'ext/objspace/objspace_dump.c')
-rw-r--r--ext/objspace/objspace_dump.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ext/objspace/objspace_dump.c b/ext/objspace/objspace_dump.c
index 228ed2fa7c..c3cc9a1e7b 100644
--- a/ext/objspace/objspace_dump.c
+++ b/ext/objspace/objspace_dump.c
@@ -406,10 +406,8 @@ dump_object(VALUE obj, struct dump_config *dc)
dump_append(dc, "\"");
size_t shape_id = rb_shape_get_shape_id(obj);
- if (shape_id) {
- dump_append(dc, ", \"shape_id\":");
- dump_append_sizet(dc, shape_id);
- }
+ dump_append(dc, ", \"shape_id\":");
+ dump_append_sizet(dc, shape_id);
dump_append(dc, ", \"slot_size\":");
dump_append_sizet(dc, dc->cur_page_slot_size);
@@ -548,6 +546,9 @@ dump_object(VALUE obj, struct dump_config *dc)
case T_OBJECT:
dump_append(dc, ", \"ivars\":");
dump_append_lu(dc, ROBJECT_IV_COUNT(obj));
+ if (rb_shape_obj_too_complex(obj)) {
+ dump_append(dc, ", \"too_complex_shape\":true");
+ }
break;
case T_FILE: