Merge pull request #4154 from FearlessTobi/port-1063

Port #1063 from yuzu: "common/xbyak_abi: Mark defined functions in header as inline "
This commit is contained in:
Pengfei Zhu 2018-08-31 12:59:29 +08:00 committed by GitHub
commit 270155066c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 15 deletions

View file

@ -9,10 +9,9 @@
#include "common/assert.h" #include "common/assert.h"
#include "common/bit_set.h" #include "common/bit_set.h"
namespace Common { namespace Common::X64 {
namespace X64 {
int RegToIndex(const Xbyak::Reg& reg) { inline int RegToIndex(const Xbyak::Reg& reg) {
using Kind = Xbyak::Reg::Kind; using Kind = Xbyak::Reg::Kind;
ASSERT_MSG((reg.getKind() & (Kind::REG | Kind::XMM)) != 0, ASSERT_MSG((reg.getKind() & (Kind::REG | Kind::XMM)) != 0,
"RegSet only support GPRs and XMM registers."); "RegSet only support GPRs and XMM registers.");
@ -152,8 +151,8 @@ constexpr size_t ABI_SHADOW_SPACE = 0;
#endif #endif
void ABI_CalculateFrameSize(BitSet32 regs, size_t rsp_alignment, size_t needed_frame_size, inline void ABI_CalculateFrameSize(BitSet32 regs, size_t rsp_alignment, size_t needed_frame_size,
s32* out_subtraction, s32* out_xmm_offset) { s32* out_subtraction, s32* out_xmm_offset) {
int count = (regs & ABI_ALL_GPRS).Count(); int count = (regs & ABI_ALL_GPRS).Count();
rsp_alignment -= count * 8; rsp_alignment -= count * 8;
size_t subtraction = 0; size_t subtraction = 0;
@ -174,8 +173,8 @@ void ABI_CalculateFrameSize(BitSet32 regs, size_t rsp_alignment, size_t needed_f
*out_xmm_offset = (s32)(subtraction - xmm_base_subtraction); *out_xmm_offset = (s32)(subtraction - xmm_base_subtraction);
} }
size_t ABI_PushRegistersAndAdjustStack(Xbyak::CodeGenerator& code, BitSet32 regs, inline size_t ABI_PushRegistersAndAdjustStack(Xbyak::CodeGenerator& code, BitSet32 regs,
size_t rsp_alignment, size_t needed_frame_size = 0) { size_t rsp_alignment, size_t needed_frame_size = 0) {
s32 subtraction, xmm_offset; s32 subtraction, xmm_offset;
ABI_CalculateFrameSize(regs, rsp_alignment, needed_frame_size, &subtraction, &xmm_offset); ABI_CalculateFrameSize(regs, rsp_alignment, needed_frame_size, &subtraction, &xmm_offset);
@ -195,8 +194,8 @@ size_t ABI_PushRegistersAndAdjustStack(Xbyak::CodeGenerator& code, BitSet32 regs
return ABI_SHADOW_SPACE; return ABI_SHADOW_SPACE;
} }
void ABI_PopRegistersAndAdjustStack(Xbyak::CodeGenerator& code, BitSet32 regs, size_t rsp_alignment, inline void ABI_PopRegistersAndAdjustStack(Xbyak::CodeGenerator& code, BitSet32 regs,
size_t needed_frame_size = 0) { size_t rsp_alignment, size_t needed_frame_size = 0) {
s32 subtraction, xmm_offset; s32 subtraction, xmm_offset;
ABI_CalculateFrameSize(regs, rsp_alignment, needed_frame_size, &subtraction, &xmm_offset); ABI_CalculateFrameSize(regs, rsp_alignment, needed_frame_size, &subtraction, &xmm_offset);
@ -217,5 +216,4 @@ void ABI_PopRegistersAndAdjustStack(Xbyak::CodeGenerator& code, BitSet32 regs, s
} }
} }
} // namespace X64 } // namespace Common::X64
} // namespace Common

View file

@ -8,8 +8,7 @@
#include <xbyak.h> #include <xbyak.h>
#include "common/x64/xbyak_abi.h" #include "common/x64/xbyak_abi.h"
namespace Common { namespace Common::X64 {
namespace X64 {
// Constants for use with cmpps/cmpss // Constants for use with cmpps/cmpss
enum { enum {
@ -45,5 +44,4 @@ inline void CallFarFunction(Xbyak::CodeGenerator& code, const T f) {
} }
} }
} // namespace X64 } // namespace Common::X64
} // namespace Common