diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | compile.c | 2 | ||||
-rw-r--r-- | iseq.c | 5 | ||||
-rw-r--r-- | vm_core.h | 5 |
4 files changed, 12 insertions, 5 deletions
@@ -1,3 +1,8 @@ +Sat Jul 26 16:28:06 2014 Eric Wong <e@80x24.org> + + * vm_core.h (struct rb_iseq_struct): reduce to 280 bytes + (from 288 bytes) on 64-bit + Sat Jul 26 06:44:43 2014 Eric Wong <e@80x24.org> * parse.y (struct parse_params): shrink to 320 to 304 bytes on 64-bit @@ -567,7 +567,7 @@ rb_iseq_translate_threaded_code(rb_iseq_t *iseq) { #if OPT_DIRECT_THREADED_CODE || OPT_CALL_THREADED_CODE const void * const *table = rb_vm_get_insns_address_table(); - unsigned long i; + unsigned int i; iseq->iseq_encoded = ALLOC_N(VALUE, iseq->iseq_size); MEMCPY(iseq->iseq_encoded, iseq->iseq, VALUE, iseq->iseq_size); @@ -1379,7 +1379,7 @@ rb_iseq_disasm(VALUE self) VALUE *iseq; VALUE str = rb_str_new(0, 0); VALUE child = rb_ary_new(); - unsigned long size; + unsigned int size; int i; long l; ID *tbl; @@ -2144,7 +2144,8 @@ int rb_iseq_line_trace_each(VALUE iseqval, int (*func)(int line, rb_event_flag_t *events_ptr, void *d), void *data) { int trace_num = 0; - size_t pos, insn; + unsigned int pos; + size_t insn; rb_iseq_t *iseq; int cont = 1; GetISeqPtr(iseqval, iseq); @@ -214,13 +214,14 @@ struct rb_iseq_struct { VALUE *iseq; /* iseq (insn number and operands) */ VALUE *iseq_encoded; /* encoded iseq */ - unsigned long iseq_size; + unsigned int iseq_size; + unsigned int line_info_size; + const VALUE mark_ary; /* Array: includes operands which should be GC marked */ const VALUE coverage; /* coverage array */ /* insn info, must be freed */ struct iseq_line_info_entry *line_info_table; - size_t line_info_size; ID *local_table; /* must free */ int local_table_size; |