Comments (1)
I did this with the previous JIT code, and it improved performance considerably. The main gotchya's here are that some x64 instructions require specific registers, before we perform any KC calls, we must flush our local register cache to the CoreRegs* structure, this is because any KC could access or modify this variables, and additionally might switch Core's entirely, invalidating any of the shared cache without it having been flushed. In addition to this, any branches (into or outside of JIT) and any JIT fallback calls also must flush our local cache. It's worth mentioning as well that we will need to be cautious about where we allow interrupts to occur as well, since these will also force us to flush the cache.
As an aside, in the future when we want to do cross-block optimizations, especially surrounding JIT allocation.
from decaf-emu.
Related Issues (20)
- Decaf freezes when running game HOT 1
- Decaf crashes: Message: Failed to find resource fonts/CafeCn.ttf HOT 1
- Crash when running Smash Bros HOT 1
- Whole bunch of SPIRV-related errors prevent building HOT 13
- [Linux] Decaf fails to build HOT 1
- AUR Package wont build HOT 5
- [Request] Migrate to libera.chat from freenode HOT 1
- Is Qt required to build decaf-emu on Windows? HOT 2
- Screenshots for README HOT 1
- handling of vk::Result::eSuboptimalKHR
- Port to vcpkg: lot of libraries detection failing (600337d4) HOT 8
- Windows artifact builds is missing libraries HOT 1
- Decaf on Android HOT 1
- [Suggestion] GamePad camera emulation? HOT 2
- Unrecoverable FS error, command = 14, error = -196631
- Build failure on Musl libc due to using deprecated POSIX api's (ucontext.h) HOT 2
- Vulkan validation errors
- dosent work linux HOT 4
- Build error: ‘createResultValue’ is not a member of ‘vk’ HOT 1
- Making latte assembler MIT ? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from decaf-emu.