radareorg / radare2

UNIX-like reverse engineering framework and command-line toolset
https://www.radare.org/
GNU Lesser General Public License v3.0
20.38k stars 2.97k forks source link

Replace RIOSkyline in favor of map-priorization performance and code maintainability #18030

Closed condret closed 2 years ago

condret commented 3 years ago

Implement submap as a replacement for skyline. The problem with skyline is that it rebuilds on map-priorization, which is bad for emulation of hardware that performs bankswitching.

Submaps are smaller pieces of a map, that provide a reference to the original map. Submaps, in contrast to maps, cannot insect, therefor can be inserted into a balanced tree structure (like rbtree), in order to represent the mapping that is described by maps.

condret commented 2 years ago

Even though skyline is still in the code, it's effectively replaced by RIOBank now.

Well done, @condret shoulder_pat