+2006-07-12 Aleksey Demakov <ademakov@gmail.com>
+
+ * jit/jit-insn.c (jit_insn_move_blocks_to_start): fix problem with
+ wrong order of blocks that were moved from the position just after
+ the init_block and with disappearance of blocks after the empty
+ init_block.
+
2006-07-06 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-rules-x86.ins: fix division by power of two.
func->builder->init_insn = -1;
}
- /* If the first block is just after "init_block", then nothing to do */
- if(init_block->next == first_block)
+ /* If the first block is just after "init_block", then only move
+ the init_block pointer ahead */
+ if(init_block == first_block || init_block->next == first_block)
{
+ while(init_block != 0 && init_block->label != to_label)
+ {
+ init_block = init_block->next;
+ }
+ func->builder->init_block = init_block;
return 1;
}