mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-23 21:39:10 -04:00
UUID refactoring
This commit is contained in:
parent
8a933520f0
commit
ac669a30ca
3 changed files with 12 additions and 16 deletions
|
@ -225,8 +225,6 @@ uint64_t dpi_uuid_gen(bool reset, int wid, uint64_t PC) {
|
|||
uuid_gen = it->second;
|
||||
}
|
||||
uint32_t instr_uuid = uuid_gen->get_uuid(PC);
|
||||
uint32_t instr_id = instr_uuid & 0xffff;
|
||||
uint32_t instr_ref = instr_uuid >> 16;
|
||||
uint64_t uuid = (uint64_t(instr_ref) << 32) | (wid << 16) | instr_id;
|
||||
uint64_t uuid = (uint64_t(instr_uuid) << 12) | wid;
|
||||
return uuid;
|
||||
}
|
|
@ -24,19 +24,19 @@ public:
|
|||
virtual ~UUIDGenerator() {}
|
||||
|
||||
uint32_t get_uuid(uint64_t PC) {
|
||||
uint32_t id;
|
||||
uint32_t ref;
|
||||
uint16_t id;
|
||||
uint16_t ref;
|
||||
auto it = uuid_map_.find(PC);
|
||||
if (it != uuid_map_.end()) {
|
||||
uint64_t value = it->second;
|
||||
id = value & 0xffff;
|
||||
ref = value >> 16;
|
||||
uint32_t value = it->second;
|
||||
ref = value & 0xffff;
|
||||
id = value >> 16;
|
||||
++ref;
|
||||
} else {
|
||||
ref = 0;
|
||||
id = ids_++;
|
||||
ref = -1;
|
||||
}
|
||||
++ref;
|
||||
uint64_t ret = (uint64_t(ref) << 16) | id;
|
||||
}
|
||||
uint32_t ret = (uint32_t(id) << 16) | ref;
|
||||
uuid_map_[PC] = ret;
|
||||
return ret;
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ public:
|
|||
private:
|
||||
|
||||
std::unordered_map<uint64_t, uint32_t> uuid_map_;
|
||||
uint32_t ids_;
|
||||
uint16_t ids_;
|
||||
};
|
||||
|
||||
}
|
|
@ -141,9 +141,7 @@ instr_trace_t* Emulator::step() {
|
|||
#ifndef NDEBUG
|
||||
uint32_t instr_uuid = warp.uui_gen.get_uuid(warp.PC);
|
||||
uint32_t g_wid = core_->id() * arch_.num_warps() + scheduled_warp;
|
||||
uint32_t instr_id = instr_uuid & 0xffff;
|
||||
uint32_t instr_ref = instr_uuid >> 16;
|
||||
uint64_t uuid = (uint64_t(instr_ref) << 32) | (g_wid << 16) | instr_id;
|
||||
uint64_t uuid = (uint64_t(instr_uuid) << 12) | g_wid;
|
||||
#else
|
||||
uint64_t uuid = 0;
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue