| 351 | }; |
| 352 | |
| 353 | static 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 | |
| 366 | static void LoadStateFromECContext(FEXCore::Core::InternalThreadState* Thread, CONTEXT& Context) { |
| 367 | auto& State = Thread->CurrentFrame->State; |
no test coverage detected