Lines Matching defs:loop

2110 /** Unwind block stack. If loop is not NULL, then stop when the first loop is encountered. */
2112 compiler_unwind_fblock_stack(struct compiler *c, int preserve_tos, struct fblockinfo **loop) {
2121 if (loop != NULL && (top->fb_type == WHILE_LOOP || top->fb_type == FOR_LOOP)) {
2122 *loop = top;
2130 if (!compiler_unwind_fblock_stack(c, preserve_tos, loop)) {
3193 basicblock *loop, *body, *end, *anchor = NULL;
3194 loop = compiler_new_block(c);
3198 if (loop == NULL || body == NULL || anchor == NULL || end == NULL) {
3201 compiler_use_next_block(c, loop);
3202 if (!compiler_push_fblock(c, WHILE_LOOP, loop, end, NULL)) {
3216 compiler_pop_fblock(c, WHILE_LOOP, loop);
3270 struct fblockinfo *loop = NULL;
3277 if (!compiler_unwind_fblock_stack(c, 0, &loop)) {
3280 if (loop == NULL) {
3285 return compiler_error(c, "'break' outside loop");
3287 if (!compiler_unwind_fblock(c, loop, 0)) {
3290 ADDOP_JUMP(c, JUMP, loop->fb_exit);
3297 struct fblockinfo *loop = NULL;
3304 if (!compiler_unwind_fblock_stack(c, 0, &loop)) {
3307 if (loop == NULL) {
3312 return compiler_error(c, "'continue' not properly in loop");
3314 ADDOP_JUMP(c, JUMP, loop->fb_block);
6444 // One less item to keep track of each time we loop through:
6670 // NOTE: goto error on failure in the loop below to avoid leaking `seen`
7079 // pushing and popping in the loop above:
7809 The issue is that in the first loop blocksize() is called
7812 i_oparg is calculated in the second loop above.
7814 So we loop until we stop seeing new EXTENDED_ARGs.
8664 // loop-and-a-half is necessary to insert 0 into every cycle, since we
8791 // changes (and we fall into an infinite loop):