diff options
author | Jemma Issroff <jemmaissroff@gmail.com> | 2022-12-15 13:42:24 -0500 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2022-12-15 13:41:47 -0800 |
commit | e9ba3042e13313944fd2695731d0d7498532b80f (patch) | |
tree | f4a9c06093de20ad0f2ce8971db8dcb9cba260ac /ext/objspace/objspace_dump.c | |
parent | c505448cdbd4cd1a52ed7108095f6738d29b3419 (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.c | 9 |
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: |