Skip to content

Commit

Permalink
* insns.def, iseq.c, vm_insnhelper.c: rename variable name
Browse files Browse the repository at this point in the history
  (ip -> iseq).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
ko1 committed Oct 14, 2010
1 parent 5825359 commit 559fd3e
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 21 deletions.
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
Thu Oct 14 22:18:29 2010 Koichi Sasada <[email protected]>

* insns.def, iseq.c, vm_insnhelper.c: rename variable name
(ip -> iseq).

Thu Oct 14 20:41:27 2010 NARUSE, Yui <[email protected]>

* pack.c (pack_pack): support endian modifiers: < and >.
Expand Down
14 changes: 7 additions & 7 deletions insns.def
Original file line number Diff line number Diff line change
Expand Up @@ -816,16 +816,16 @@ defined
}
break;
case DEFINED_ZSUPER:{
rb_iseq_t *ip = GET_ISEQ();
while (ip) {
if (ip->defined_method_id) {
rb_iseq_t *iseq = GET_ISEQ();
while (iseq) {
if (iseq->defined_method_id) {
break;
}
ip = ip->parent_iseq;
iseq = iseq->parent_iseq;
}
if (ip) {
VALUE klass = vm_search_normal_superclass(ip->klass, GET_SELF());
if (rb_method_boundp(klass, ip->defined_method_id, 0)) {
if (iseq) {
VALUE klass = vm_search_normal_superclass(iseq->klass, GET_SELF());
if (rb_method_boundp(klass, iseq->defined_method_id, 0)) {
expr_type = "super";
}
}
Expand Down
12 changes: 6 additions & 6 deletions iseq.c
Original file line number Diff line number Diff line change
Expand Up @@ -748,9 +748,9 @@ insn_operand_intern(rb_iseq_t *iseq,

case TS_LINDEX:
{
rb_iseq_t *ip = iseq->local_iseq;
int lidx = ip->local_size - (int)op;
const char *name = rb_id2name(ip->local_table[lidx]);
rb_iseq_t *liseq = iseq->local_iseq;
int lidx = liseq->local_size - (int)op;
const char *name = rb_id2name(liseq->local_table[lidx]);

if (name) {
ret = rb_str_new2(name);
Expand All @@ -762,13 +762,13 @@ insn_operand_intern(rb_iseq_t *iseq,
}
case TS_DINDEX:{
if (insn == BIN(getdynamic) || insn == BIN(setdynamic)) {
rb_iseq_t *ip = iseq;
rb_iseq_t *diseq = iseq;
VALUE level = *pnop, i;
const char *name;
for (i = 0; i < level; i++) {
ip = ip->parent_iseq;
diseq = diseq->parent_iseq;
}
name = rb_id2name(ip->local_table[ip->local_size - op]);
name = rb_id2name(diseq->local_table[diseq->local_size - op]);

if (!name) {
name = "*";
Expand Down
16 changes: 8 additions & 8 deletions vm_insnhelper.c
Original file line number Diff line number Diff line change
Expand Up @@ -1375,24 +1375,24 @@ vm_search_normal_superclass(VALUE klass, VALUE recv)
}

static void
vm_search_superclass(rb_control_frame_t *reg_cfp, rb_iseq_t *ip,
vm_search_superclass(rb_control_frame_t *reg_cfp, rb_iseq_t *iseq,
VALUE recv, VALUE sigval,
ID *idp, VALUE *klassp)
{
ID id;
VALUE klass;

while (ip && !ip->klass) {
ip = ip->parent_iseq;
while (iseq && !iseq->klass) {
iseq = iseq->parent_iseq;
}

if (ip == 0) {
if (iseq == 0) {
rb_raise(rb_eNoMethodError, "super called outside of method");
}

id = ip->defined_method_id;
id = iseq->defined_method_id;

if (ip != ip->local_iseq) {
if (iseq != iseq->local_iseq) {
/* defined by Module#define_method() */
rb_control_frame_t *lcfp = GET_CFP();

Expand All @@ -1401,7 +1401,7 @@ vm_search_superclass(rb_control_frame_t *reg_cfp, rb_iseq_t *ip,
rb_raise(rb_eRuntimeError, "implicit argument passing of super from method defined by define_method() is not supported. Specify all arguments explicitly.");
}

while (lcfp->iseq != ip) {
while (lcfp->iseq != iseq) {
VALUE *tdfp = GET_PREV_DFP(lcfp->dfp);
while (1) {
lcfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(lcfp);
Expand All @@ -1420,7 +1420,7 @@ vm_search_superclass(rb_control_frame_t *reg_cfp, rb_iseq_t *ip,
klass = vm_search_normal_superclass(lcfp->me->klass, recv);
}
else {
klass = vm_search_normal_superclass(ip->klass, recv);
klass = vm_search_normal_superclass(iseq->klass, recv);
}

*idp = id;
Expand Down

0 comments on commit 559fd3e

Please sign in to comment.