Created
August 8, 2017 22:54
-
-
Save denismerigoux/0301009c5ee2bb91bda7274d8997cd97 to your computer and use it in GitHub Desktop.
Example of ebb splitting that lead to differences in Ebb postorder
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
base_func { | |
ebb0: | |
brz ebb1 | |
jump ebb2 | |
ebb1: | |
brz ebb3 | |
jump ebb3 | |
ebb2: | |
jump ebb3 | |
ebb3: | |
return | |
} | |
Postorder: [Ebb(3),Ebb(2),Ebb(1),Ebb(0)] | |
--> Now we split ebb1 | |
splitted_func { | |
ebb0: | |
brz ebb1 | |
jump ebb2 | |
ebb1: | |
brz ebb3 | |
jump ebb4 | |
ebb4: | |
jump ebb3 | |
ebb2: | |
jump ebb3 | |
ebb3: | |
return | |
} | |
Incrementally-updated postorder: [Ebb(3),Ebb(2),Ebb(4),Ebb(1),Ebb(0)] | |
Recomputed from scracth postorder : [Ebb(3),Ebb(4),Ebb(2),Ebb(1),Ebb(0)] | |
--> the two postorders are different! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment