MCPcopy Create free account
hub / github.com/FEX-Emu/FEX / Decoder

Method Decoder

FEXCore/Source/Interface/Core/Frontend.cpp:70–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

68}
69
70Decoder::Decoder(FEXCore::Core::InternalThreadState* Thread)
71 : Thread {Thread}
72 , CTX {static_cast<FEXCore::Context::ContextImpl*>(Thread->CTX)}
73 , OSABI {CTX->SyscallHandler ? CTX->SyscallHandler->GetOSABI() : FEXCore::HLE::SyscallOSABI::OS_UNKNOWN}
74 , PoolObject {CTX->FrontendAllocator, sizeof(FEXCore::X86Tables::DecodedInst) * DefaultDecodedBufferSize} {
75
76 FEX_CONFIG_OPT(ReducedPrecision, X87REDUCEDPRECISION);
77 if (ReducedPrecision) {
78 X87Table = &FEXCore::X86Tables::X87F64Ops;
79 } else {
80 X87Table = &FEXCore::X86Tables::X87F80Ops;
81 }
82
83 if (CTX->HostFeatures.SupportsAVX && CTX->HostFeatures.SupportsSVE256) {
84 VEXTable = &FEXCore::X86Tables::VEXTableOps;
85 VEXTableGroup = &FEXCore::X86Tables::VEXTableGroupOps;
86 } else if (CTX->HostFeatures.SupportsAVX) {
87 VEXTable = &FEXCore::X86Tables::VEXTableOps_AVX128;
88 VEXTableGroup = &FEXCore::X86Tables::VEXTableGroupOps_AVX128;
89 }
90}
91
92bool Decoder::CheckRangeExecutable(uint64_t Address, uint64_t Size) {
93 // Treat FEX-internal X86 callbacks as always executable

Callers

nothing calls this directly

Calls 1

GetOSABIMethod · 0.80

Tested by

no test coverage detected