1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* vm_core.h: modify layout of rb_iseq_constant_body.

Move frequent accesssing fields to upper part.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2015-07-22 11:21:21 +00:00
parent 6f8b0aeb3b
commit c44360f623
2 changed files with 24 additions and 20 deletions

View file

@ -1,3 +1,9 @@
Wed Jul 22 20:17:51 2015 Koichi Sasada <ko1@atdot.net>
* vm_core.h: modify layout of rb_iseq_constant_body.
Move frequent accesssing fields to upper part.
Wed Jul 22 19:57:47 2015 Koichi Sasada <ko1@atdot.net>
* vm_core.h: remove unused declaration of

View file

@ -251,29 +251,11 @@ struct rb_iseq_constant_body {
} type; /* instruction sequence type */
int stack_max; /* for stack overflow check */
rb_iseq_location_t location;
VALUE *iseq_encoded; /* encoded iseq (insn addr and operands) */
unsigned int iseq_size;
unsigned int line_info_size;
const VALUE mark_ary; /* Array: includes operands which should be GC marked */
/* insn info, must be freed */
struct iseq_line_info_entry *line_info_table;
ID *local_table; /* must free */
int local_table_size;
/* sizeof(vars) + 1 */
int local_size;
union iseq_inline_storage_entry *is_entries;
int is_size;
int callinfo_size;
rb_call_info_t *callinfo_entries;
unsigned int iseq_size;
VALUE *iseq_encoded; /* encoded iseq (insn addr and operands) */
/**
* parameter information
@ -345,12 +327,28 @@ struct rb_iseq_constant_body {
} *keyword;
} param;
rb_iseq_location_t location;
/* insn info, must be freed */
struct iseq_line_info_entry *line_info_table;
ID *local_table; /* must free */
/* catch table */
struct iseq_catch_table *catch_table;
/* for child iseq */
const struct rb_iseq_struct *parent_iseq;
struct rb_iseq_struct *local_iseq; /* local_iseq->flip_cnt can be modified */
union iseq_inline_storage_entry *is_entries;
rb_call_info_t *callinfo_entries;
const VALUE mark_ary; /* Array: includes operands which should be GC marked */
int local_table_size;
int is_size;
int callinfo_size;
unsigned int line_info_size;
};
struct rb_iseq_variable_body {