Warn sp overwriting on compile time
This commit is contained in:
parent
ac399c2c7a
commit
a7bd0ec570
Notes:
git
2020-08-16 08:44:10 +09:00
19
compile.c
19
compile.c
@ -2058,6 +2058,10 @@ fix_sp_depth(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)
|
|||||||
}
|
}
|
||||||
if (lobj->sp == -1) {
|
if (lobj->sp == -1) {
|
||||||
lobj->sp = sp;
|
lobj->sp = sp;
|
||||||
|
} else if (lobj->sp != sp) {
|
||||||
|
debugs("%s:%d: sp inconsistency found but ignored (" LABEL_FORMAT " sp: %d, calculated sp: %d)\n",
|
||||||
|
RSTRING_PTR(rb_iseq_path(iseq)), line,
|
||||||
|
lobj->label_no, lobj->sp, sp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2070,6 +2074,11 @@ fix_sp_depth(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)
|
|||||||
lobj->sp = sp;
|
lobj->sp = sp;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
if (lobj->sp != sp) {
|
||||||
|
debugs("%s:%d: sp inconsistency found but ignored (" LABEL_FORMAT " sp: %d, calculated sp: %d)\n",
|
||||||
|
RSTRING_PTR(rb_iseq_path(iseq)), line,
|
||||||
|
lobj->label_no, lobj->sp, sp);
|
||||||
|
}
|
||||||
sp = lobj->sp;
|
sp = lobj->sp;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -2187,6 +2196,11 @@ iseq_set_sequence(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)
|
|||||||
{
|
{
|
||||||
LABEL *lobj = (LABEL *)list;
|
LABEL *lobj = (LABEL *)list;
|
||||||
lobj->position = code_index;
|
lobj->position = code_index;
|
||||||
|
if (lobj->sp != sp) {
|
||||||
|
debugs("%s: sp inconsistency found but ignored (" LABEL_FORMAT " sp: %d, calculated sp: %d)\n",
|
||||||
|
RSTRING_PTR(rb_iseq_path(iseq)),
|
||||||
|
lobj->label_no, lobj->sp, sp);
|
||||||
|
}
|
||||||
sp = lobj->sp;
|
sp = lobj->sp;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -2337,6 +2351,11 @@ iseq_set_sequence(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)
|
|||||||
case ISEQ_ELEMENT_LABEL:
|
case ISEQ_ELEMENT_LABEL:
|
||||||
{
|
{
|
||||||
LABEL *lobj = (LABEL *)list;
|
LABEL *lobj = (LABEL *)list;
|
||||||
|
if (lobj->sp != sp) {
|
||||||
|
debugs("%s: sp inconsistency found but ignored (" LABEL_FORMAT " sp: %d, calculated sp: %d)\n",
|
||||||
|
RSTRING_PTR(rb_iseq_path(iseq)),
|
||||||
|
lobj->label_no, lobj->sp, sp);
|
||||||
|
}
|
||||||
sp = lobj->sp;
|
sp = lobj->sp;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user