mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-11-22 21:54:50 +00:00
Range represents a range as follows. Member @start is the inclusive lower bound, member @end is the exclusive upper bound. Zero @end is special: if @start is also zero, the range is empty, else @end is to be interpreted as 2^64. No other empty ranges may occur. The range [0,2^64-1] cannot be represented. If you try to create it with range_set_bounds1(), you get the empty range instead. If you try to create it with range_set_bounds() or range_extend(), assertions fail. Before range_set_bounds() existed, the open-coded creation usually got you the empty range instead. Open deathtrap. Moreover, the code dealing with the janus-faced @end is too clever by half. Dumb this down to a more pedestrian representation: members @lob and @upb are inclusive lower and upper bounds. The empty range is encoded as @lob = 1, @upb = 0. Backports commit 6dd726a2bf1b800289d90a84d5fcb5ce7b78a8e1 from qemu |
||
|---|---|---|
| .. | ||
| crypto | ||
| exec | ||
| fpu | ||
| hw | ||
| qapi | ||
| qemu | ||
| qom | ||
| sysemu | ||
| config.h | ||
| elf.h | ||
| glib_compat.h | ||
| qemu-common.h | ||