Project

General

Profile

Bug #2745 ยป adjust_sp.patch

wanabe (_ wanabe), 02/21/2010 04:28 PM

View differences:

compile.c (working copy)
if (iseq->compile_data->redo_label != 0) {
LABEL *splabel = NEW_LABEL(0);
debugs("next in while loop\n");
if (!poped) {
ADD_INSN(ret, nd_line(node), putnil);
}
ADD_LABEL(ret, splabel);
COMPILE(ret, "next val/valid syntax?", node->nd_stts);
add_ensure_iseq(ret, iseq, 0);
......
if (iseq->compile_data->redo_label) {
LABEL *splabel = NEW_LABEL(0);
debugs("redo in while");
if (!poped) {
ADD_INSN(ret, nd_line(node), putnil);
}
ADD_LABEL(ret, splabel);
ADD_ADJUST(ret, nd_line(node), iseq->compile_data->redo_label);
add_ensure_iseq(ret, iseq, 0);
    (1-1/1)