Remove XABORT in PPU/SPU transactions.

It's expensive for unknown reason. Simply XEND is usually much cheaper.
Add some minor improvements. Use g_sudo_addr.
This commit is contained in:
Nekotekina 2020-10-20 08:22:25 +03:00
parent 182a998cb6
commit dc8252bb9f
5 changed files with 161 additions and 104 deletions

View file

@ -55,11 +55,8 @@ namespace asmjit
// Should only be used to build global functions
asmjit::Runtime& get_global_runtime();
// Emit xbegin and adjacent loop, return label at xbegin
// Emit xbegin and adjacent loop, return label at xbegin (don't use xabort please)
[[nodiscard]] asmjit::Label build_transaction_enter(X86Assembler& c, Label fallback, const X86Gp& ctr, uint less_than);
// Emit xabort
void build_transaction_abort(X86Assembler& c, unsigned char code);
}
// Build runtime function with asmjit::X86Assembler