mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-10 00:00:19 +02:00
Centralizes all the nasty behaviour that will end up breaking when WINE eventually turns on userspace syscall dispatch. Pushes all of the logic in to the UnixLib. Support both paths until everyone is migrated to supporting the UnixLib, then we can delete the bit of code duplication between the PE side and UnixLib side. Helpful that everything that gets punched through the UnixLib is optional, so worst case some optional bits can break for a while.
29 lines
633 B
C++
29 lines
633 B
C++
// SPDX-License-Identifier: MIT
|
|
#pragma once
|
|
|
|
#include "Common/SHMStats.h"
|
|
|
|
namespace FEX::Windows {
|
|
class StatAlloc final : public FEX::SHMStats::StatAllocBase {
|
|
public:
|
|
StatAlloc(FEXCore::SHMStats::AppType AppType);
|
|
virtual ~StatAlloc();
|
|
|
|
FEXCore::SHMStats::ThreadStats* AllocateSlot(uint32_t TID) {
|
|
return StatAllocBase::AllocateSlot(TID);
|
|
}
|
|
|
|
void DeallocateSlot(FEXCore::SHMStats::ThreadStats* AllocatedSlot) {
|
|
if (!AllocatedSlot) {
|
|
return;
|
|
}
|
|
|
|
StatAllocBase::DeallocateSlot(AllocatedSlot);
|
|
}
|
|
|
|
private:
|
|
uint32_t FrontendAllocateSlots(uint32_t NewSize) override;
|
|
};
|
|
|
|
} // namespace FEX::Windows
|