예제 #1
0
파일: arm_dynarmic.cpp 프로젝트: Subv/citra
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));
}
예제 #2
0
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()));
}