void ARM_Dynarmic::PageTableChanged() { current_page_table = Memory::GetCurrentPageTable(); auto iter = jits.find(current_page_table); if (iter != jits.end()) { jit = iter->second.get(); return; } jit = new Dynarmic::Jit(GetUserCallbacks(interpreter_state, current_page_table)); jits.emplace(current_page_table, std::unique_ptr<Dynarmic::Jit>(jit)); }
ARM_Dynarmic::ARM_Dynarmic(PrivilegeMode initial_mode) { interpreter_state = std::make_unique<ARMul_State>(initial_mode); jit = std::make_unique<Dynarmic::Jit>(GetUserCallbacks(interpreter_state.get())); }