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:
parent
6f8b0aeb3b
commit
c44360f623
2 changed files with 24 additions and 20 deletions
|
@ -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
|
||||
|
|
38
vm_core.h
38
vm_core.h
|
@ -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 {
|
||||
|
|
Loading…
Add table
Reference in a new issue