brrt good * 06:25
yesterday when i couldn't sleep i figured out a solution to my issue
i'm not sure if you are going to laugh or cry, because it is the same solution as the others
nevertheless
it does have the twin advantages of being robust (well, a bit more robust anyway) and simple 06:26
we do assign a ordering number to the tiles-that-are-to-be-inserted 06:27
however, we do this explicitly
and with just relative meaning 06:28
e.g.
suppose we find that we must spill a register to load a value
we must do three things
a): find the register
b): find a place in the bytecode stream to spill it (by default just after its creation) 06:29
c): find a place in the bytecode strema to insert the load (by default just before its use)
if the place of b) and c) is the same, first insert the spill, and assign it relative order nr $x; then insert the load, and assign it relative order nr $x + 1 06:30
this way i can always ensure that pairs of inserted tiles have a relative order, and they also have a relative order to tiles that are already present in the bytecode stream 06:31
bytecode stream ~~ tile list, in this case
so yes, i'm faced with difficulty, and i just pick another integer
in this case, explicit integers are better than implicit 06:32
brrt \o lizmat 07:59