... But if you implement a fifo buffer and limit the distance that you allow for jumps - maybe think about making jumps relative (assuming you have some kind of control over the language definition) so that the code you had becomes:
Code:
PUSH 1
PUSH 2
POP abc
PUSH 2323
ADD
MUL
POP xyz
JUMP -6
...
I know this limits how far you can jump, but to honest I consider that a good thing!