Skip to content

Commit 21451a1

Browse files
committed
objspace: dump is_size for iseq
1 parent c0cd616 commit 21451a1

3 files changed

Lines changed: 11 additions & 0 deletions

File tree

ext/objspace/objspace_dump.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,10 @@ dump_object(VALUE obj, struct dump_config *dc)
467467
dump_append(dc, ", \"segments_memsize\":");
468468
dump_append_sizet(dc, segment_size);
469469
}
470+
471+
dump_append(dc, ", \"is_size\":");
472+
dump_append_sizet(dc, rb_iseq_is_size((const rb_iseq_t *)obj));
473+
470474
break;
471475
}
472476
default:

iseq.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,12 @@ rb_iseq_memsize(const rb_iseq_t *iseq)
504504
return size;
505505
}
506506

507+
size_t
508+
rb_iseq_is_size(const rb_iseq_t *iseq)
509+
{
510+
return (size_t)ISEQ_IS_SIZE(ISEQ_BODY(iseq));
511+
}
512+
507513
size_t
508514
rb_iseq_ic_segments_size(const rb_iseq_t *iseq)
509515
{

vm_core.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1209,6 +1209,7 @@ typedef enum {
12091209
RUBY_SYMBOL_EXPORT_BEGIN
12101210

12111211
size_t rb_iseq_ic_segments_size(const rb_iseq_t *iseq);
1212+
size_t rb_iseq_is_size(const rb_iseq_t *iseq);
12121213

12131214
/* node -> iseq */
12141215
rb_iseq_t *rb_iseq_new (const VALUE ast_value, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent, enum rb_iseq_type);

0 commit comments

Comments
 (0)