|
|
|
@ -12,6 +12,7 @@ |
|
|
|
#include <functional> |
|
|
|
#include <optional> |
|
|
|
|
|
|
|
#include "boost/container/small_vector.hpp" |
|
|
|
#include "dynarmic/common/common_types.h" |
|
|
|
#include <xbyak/xbyak.h> |
|
|
|
#include <boost/container/static_vector.hpp> |
|
|
|
@ -83,7 +84,7 @@ public: |
|
|
|
void EmitVerboseDebuggingOutput(BlockOfCode* code, size_t host_loc_index) const noexcept; |
|
|
|
private: |
|
|
|
//non trivial |
|
|
|
std::vector<IR::Inst*> values; //24 |
|
|
|
boost::container::small_vector<IR::Inst*, 3> values; //24 |
|
|
|
// Block state |
|
|
|
uint16_t total_uses = 0; //8 |
|
|
|
//sometimes zeroed |
|
|
|
@ -96,7 +97,7 @@ private: |
|
|
|
uint8_t max_bit_width = 0; //Valid values: 1,2,4,8,16,32,128 |
|
|
|
bool is_scratch : 1 = false; //1 |
|
|
|
bool is_set_last_use : 1 = false; //1 |
|
|
|
alignas(16) uint8_t lru_counter = 0; //1 |
|
|
|
uint8_t lru_counter = 0; //1 |
|
|
|
friend class RegAlloc; |
|
|
|
}; |
|
|
|
static_assert(sizeof(HostLocInfo) == 64); |
|
|
|
|