* 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
@ -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>
|
Wed Jul 22 19:57:47 2015 Koichi Sasada <ko1@atdot.net>
|
||||||
|
|
||||||
* vm_core.h: remove unused declaration of
|
* 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 */
|
} type; /* instruction sequence type */
|
||||||
|
|
||||||
int stack_max; /* for stack overflow check */
|
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 */
|
/* sizeof(vars) + 1 */
|
||||||
int local_size;
|
int local_size;
|
||||||
|
|
||||||
union iseq_inline_storage_entry *is_entries;
|
unsigned int iseq_size;
|
||||||
int is_size;
|
VALUE *iseq_encoded; /* encoded iseq (insn addr and operands) */
|
||||||
|
|
||||||
int callinfo_size;
|
|
||||||
rb_call_info_t *callinfo_entries;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* parameter information
|
* parameter information
|
||||||
@ -345,12 +327,28 @@ struct rb_iseq_constant_body {
|
|||||||
} *keyword;
|
} *keyword;
|
||||||
} param;
|
} 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 */
|
/* catch table */
|
||||||
struct iseq_catch_table *catch_table;
|
struct iseq_catch_table *catch_table;
|
||||||
|
|
||||||
/* for child iseq */
|
/* for child iseq */
|
||||||
const struct rb_iseq_struct *parent_iseq;
|
const struct rb_iseq_struct *parent_iseq;
|
||||||
struct rb_iseq_struct *local_iseq; /* local_iseq->flip_cnt can be modified */
|
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 {
|
struct rb_iseq_variable_body {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user