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

Function HandleUnalignedAccess

Source/Windows/ARM64EC/Module.cpp:353–364  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

351};
352
353static bool HandleUnalignedAccess(ARM64_NT_CONTEXT& Context) {
354 auto Thread = GetCPUArea().ThreadState();
355 if (!CTX->IsAddressInCodeBuffer(Thread, Context.Pc)) {
356 return false;
357 }
358
359 FEXCORE_PROFILE_INSTANT_INCREMENT(Thread, AccumulatedSIGBUSCount, 1);
360 const auto Result =
361 FEXCore::ArchHelpers::Arm64::HandleUnalignedAccess(Thread, HandlerConfig->GetUnalignedHandlerType(), Context.Pc, &Context.X0);
362 Context.Pc += Result.value_or(0);
363 return Result.has_value();
364}
365
366static void LoadStateFromECContext(FEXCore::Core::InternalThreadState* Thread, CONTEXT& Context) {
367 auto& State = Thread->CurrentFrame->State;

Callers 1

Calls 3

GetCPUAreaFunction · 0.85
IsAddressInCodeBufferMethod · 0.45

Tested by

no test coverage detected