|
|
|
@ -42,9 +42,10 @@ ResultVal<Handle> HandleTable::Create(SharedPtr<Object> obj) { |
|
|
|
u16 generation = next_generation++; |
|
|
|
|
|
|
|
// Overflow count so it fits in the 15 bits dedicated to the generation in the handle.
|
|
|
|
// CTR-OS doesn't use generation 0, so skip straight to 1.
|
|
|
|
if (next_generation >= (1 << 15)) |
|
|
|
// Horizon OS uses zero to represent an invalid handle, so skip to 1.
|
|
|
|
if (next_generation >= (1 << 15)) { |
|
|
|
next_generation = 1; |
|
|
|
} |
|
|
|
|
|
|
|
generations[slot] = generation; |
|
|
|
objects[slot] = std::move(obj); |
|
|
|
|