4f3c0c15b4
Codegen had a bug where if you emit a block in astubs that has a getNext() which is also in astubs, it would omit the jump. However, it might visit another block in a first, which is allowed to put code in astubs. Generally the block order was just defined by the order that happened to be in the block list by the time we get there. Change it to emit blocks in the RPO defined by sortCfg for now, after partitioning them into groups for a and astubs. This fixes the bug, and at least makes codegen use a defined order. We later will probably want to see about whether we may be able to avoid more jumps with smarter layout.