New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HW/GPFifo: Refactor to class, move to Core::System. #11407
HW/GPFifo: Refactor to class, move to Core::System. #11407
Conversation
|
Someone should still test the ARM JIT change before merging. |
|
JitArm64 change tested and reviewed. Looks good. Actually, the other day I was looking into if it would be possible to call a member function directly from the JIT. I couldn't figure out a way to get C++ to give me a plain pointer for the function, so maybe creating a wrapper function like you've done here is the way to go? |
|
Ran about 10 different games briefly and found no issues. Performance is practically the same. M1 ARM |
890aef7
to
374aefc
Compare
You can actually do that, but the syntax is a bit arcane. https://godbolt.org/z/EPjf74EM6 You also have to make sure to match your target platform's calling convention for member functions. But yeah, it's just simpler to use a freestanding function and adapt... |
|
After that last commit, it crashes about 1 in 5 times when starting a game. another: |
|
Hm, can't reproduce that here, and I'm not sure what part of the change would have triggered that either... |
|
Does this fix it, perhaps? |
7284fb4
to
aeab3f0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just two minor nits, but overall looks good
aeab3f0
to
d33416f
Compare
All good now. Zero crashes. |
|
@AdmiralCurtiss Sorry, what I mean by plain pointer is actually |
Do not merge this yet, this appears to noticeably impact performance...e: On second try I'm actually getting slighty better performance post-refactor so what the heck do I know, modern CPUs are a mystery.Someone should also check the ARM JIT change.