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

rb_iseq_location_t: change first_lineno type to VALUE

Nearly all current uses of iseq->location.first_lineno are as a
VALUE, not a size_t.  The only exception was the experimental
(and currently unused) rb_iseq_build_for_ruby2cext function.

* vm_core.h (rb_iseq_location_t): change first_lineno type to VALUE
* iseq.c (rb_iseq_build_for_ruby2cext): update based on argument

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
normal 2014-08-25 02:24:10 +00:00
parent 2afed6ecef
commit 0ae8dd168e
3 changed files with 8 additions and 3 deletions

View file

@ -1,3 +1,8 @@
Mon Aug 25 11:02:07 2014 Eric Wong <e@80x24.org>
* vm_core.h (rb_iseq_location_t): change first_lineno type to VALUE
* iseq.c (rb_iseq_build_for_ruby2cext): update based on argument
Sun Aug 24 16:14:46 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
* lib/e2mmap.rb: remove needless instance variables.

4
iseq.c
View file

@ -183,7 +183,7 @@ iseq_alloc(VALUE klass)
}
static rb_iseq_location_t *
iseq_location_setup(rb_iseq_t *iseq, VALUE path, VALUE absolute_path, VALUE name, size_t first_lineno)
iseq_location_setup(rb_iseq_t *iseq, VALUE path, VALUE absolute_path, VALUE name, VALUE first_lineno)
{
rb_iseq_location_t *loc = &iseq->location;
RB_OBJ_WRITE(iseq->self, &loc->path, path);
@ -2096,7 +2096,7 @@ rb_iseq_build_for_ruby2cext(
MEMCPY(iseq, iseq_template, rb_iseq_t, 1); /* TODO: write barrier, *iseq = *iseq_template; */
RB_OBJ_WRITE(iseq->self, &iseq->location.label, rb_str_new2(name));
RB_OBJ_WRITE(iseq->self, &iseq->location.path, rb_str_new2(path));
iseq->location.first_lineno = first_lineno;
iseq->location.first_lineno = UINT2NUM(first_lineno);
RB_OBJ_WRITE(iseq->self, &iseq->mark_ary, 0);
iseq->self = iseqval;

View file

@ -184,7 +184,7 @@ typedef struct rb_iseq_location_struct {
const VALUE absolute_path;
const VALUE base_label;
const VALUE label;
size_t first_lineno;
VALUE first_lineno; /* TODO: may be unsigned short */
} rb_iseq_location_t;
struct rb_iseq_struct;