Control Flow Graph
One instruction per node.
One difficult case: jsr/ret
- jsr <index>
- puts the address of the next instruction on the top of the stack
- branches to the instruction at <index>
- astore is overloaded to store values of returnAdddress
- ret <local var index >
- indirect jump through returnAdress stored in local variable.
Great potential for deviant behavior