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

Method CreateJumpBlocks

FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp:3905–3918  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3903}
3904
3905void OpDispatchBuilder::CreateJumpBlocks(const fextl::vector<FEXCore::Frontend::Decoder::DecodedBlocks>* Blocks) {
3906 Ref PrevCodeBlock {};
3907 for (auto& Target : *Blocks) {
3908 auto CodeNode = CreateCodeNode(Target.IsEntryPoint, Target.Entry - Entry);
3909
3910 JumpTargets.try_emplace(Target.Entry, JumpTargetInfo {CodeNode, false, Target.IsEntryPoint});
3911
3912 if (PrevCodeBlock) {
3913 LinkCodeBlocks(PrevCodeBlock, CodeNode);
3914 }
3915
3916 PrevCodeBlock = CodeNode;
3917 }
3918}
3919
3920void OpDispatchBuilder::BeginFunction(uint64_t RIP, const fextl::vector<FEXCore::Frontend::Decoder::DecodedBlocks>* Blocks, uint32_t NumInstructions, bool _Is64BitMode, bool MonoBackpatcherBlock) {
3921 Entry = RIP;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected