Kaydet (Commit) b90f52e9 authored tarafından Nick Coghlan's avatar Nick Coghlan

Revert compile.c changes that shouldn't have been included in previous checkin

üst 3af0e785
...@@ -1616,14 +1616,10 @@ compiler_while(struct compiler *c, stmt_ty s) ...@@ -1616,14 +1616,10 @@ compiler_while(struct compiler *c, stmt_ty s)
orelse = NULL; orelse = NULL;
ADDOP_JREL(c, SETUP_LOOP, end); ADDOP_JREL(c, SETUP_LOOP, end);
compiler_use_next_block(c, loop);
if (!compiler_push_fblock(c, LOOP, loop)) if (!compiler_push_fblock(c, LOOP, loop))
return 0; return 0;
compiler_use_next_block(c, loop);
if (constant == -1) { if (constant == -1) {
/* XXX(ncoghlan): SF bug #1750076
Use same special casing as is used in for loops
A test case for this would be nice... */
c->u->u_lineno_set = false;
VISIT(c, expr, s->v.While.test); VISIT(c, expr, s->v.While.test);
ADDOP_JREL(c, JUMP_IF_FALSE, anchor); ADDOP_JREL(c, JUMP_IF_FALSE, anchor);
ADDOP(c, POP_TOP); ADDOP(c, POP_TOP);
...@@ -3525,8 +3521,7 @@ assemble_lnotab(struct assembler *a, struct instr *i) ...@@ -3525,8 +3521,7 @@ assemble_lnotab(struct assembler *a, struct instr *i)
/* XXX(nnorwitz): is there a better way to handle this? /* XXX(nnorwitz): is there a better way to handle this?
for loops are special, we want to be able to trace them for loops are special, we want to be able to trace them
each time around, so we need to set an extra line number. */ each time around, so we need to set an extra line number. */
/* XXX(ncoghlan): while loops need this too */ if (d_lineno == 0 && i->i_opcode != FOR_ITER)
if (d_lineno == 0)
return 1; return 1;
if (d_bytecode > 255) { if (d_bytecode > 255) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment