From: Eric Wong Date: 2014-03-10T10:02:23+00:00 Subject: [ruby-core:61400] first_lineno in rb_iseq_location_t Based on rb_iseq_first_lineno() and other usages in iseq.c, it looks like the following would be more correct: --- a/vm_core.h +++ b/vm_core.h @@ -177,7 +177,7 @@ typedef struct rb_iseq_location_struct { const VALUE absolute_path; const VALUE base_label; const VALUE label; - size_t first_lineno; + VALUE first_lineno; } rb_iseq_location_t; However, I would like to use uint32_t and move it to the top of rb_iseq_location_t, so it may be packed with "enum iseq_type" in rb_iseq_struct. Also we probably don't need 32-bit integers for arg* fields. 8 bits should be plenty enough, right?