* vm_core.h: constify rb_iseq_constant_body::line_info_table.

* iseq.c: catch up this fix.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2015-07-24 21:01:09 +00:00
Родитель efa31acaad
Коммит 14428f09b1
3 изменённых файлов: 11 добавлений и 4 удалений

Просмотреть файл

@ -1,3 +1,9 @@
Sat Jul 25 06:00:09 2015 Koichi Sasada <ko1@atdot.net>
* vm_core.h: constify rb_iseq_constant_body::line_info_table.
* iseq.c: catch up this fix.
Sat Jul 25 05:56:43 2015 Koichi Sasada <ko1@atdot.net>
* vm_core.h: constify rb_iseq_constant_body::param::opt_table and

7
iseq.c
Просмотреть файл

@ -1060,11 +1060,11 @@ iseqw_to_a(VALUE self)
/* TODO: search algorithm is brute force.
this should be binary search or so. */
static struct iseq_line_info_entry *
static const struct iseq_line_info_entry *
get_line_info(const rb_iseq_t *iseq, size_t pos)
{
size_t i = 0, size = iseq->body->line_info_size;
struct iseq_line_info_entry *table = iseq->body->line_info_table;
const struct iseq_line_info_entry *table = iseq->body->line_info_table;
const int debug = 0;
if (debug) {
@ -1098,7 +1098,8 @@ get_line_info(const rb_iseq_t *iseq, size_t pos)
static unsigned int
find_line_no(const rb_iseq_t *iseq, size_t pos)
{
struct iseq_line_info_entry *entry = get_line_info(iseq, pos);
const struct iseq_line_info_entry *entry = get_line_info(iseq, pos);
if (entry) {
return entry->line_no;
}

Просмотреть файл

@ -330,7 +330,7 @@ struct rb_iseq_constant_body {
rb_iseq_location_t location;
/* insn info, must be freed */
struct iseq_line_info_entry *line_info_table;
const struct iseq_line_info_entry *line_info_table;
const ID *local_table; /* must free */