|
@@ -253,6 +253,8 @@ static struct qemu_plugin_scoreboard *find_counter(
|
|
|
int i;
|
|
|
uint64_t *cnt = NULL;
|
|
|
uint32_t opcode = 0;
|
|
|
+ /* if opcode is greater than 32 bits, we should refactor insn hash table. */
|
|
|
+ G_STATIC_ASSERT(sizeof(opcode) == sizeof(uint32_t));
|
|
|
InsnClassExecCount *class = NULL;
|
|
|
|
|
|
/*
|
|
@@ -284,7 +286,7 @@ static struct qemu_plugin_scoreboard *find_counter(
|
|
|
|
|
|
g_mutex_lock(&lock);
|
|
|
icount = (InsnExecCount *) g_hash_table_lookup(insns,
|
|
|
- GUINT_TO_POINTER(opcode));
|
|
|
+ (gpointer)(intptr_t) opcode);
|
|
|
|
|
|
if (!icount) {
|
|
|
icount = g_new0(InsnExecCount, 1);
|
|
@@ -295,8 +297,7 @@ static struct qemu_plugin_scoreboard *find_counter(
|
|
|
qemu_plugin_scoreboard_new(sizeof(uint64_t));
|
|
|
icount->count = qemu_plugin_scoreboard_u64(score);
|
|
|
|
|
|
- g_hash_table_insert(insns, GUINT_TO_POINTER(opcode),
|
|
|
- (gpointer) icount);
|
|
|
+ g_hash_table_insert(insns, (gpointer)(intptr_t) opcode, icount);
|
|
|
}
|
|
|
g_mutex_unlock(&lock);
|
|
|
|