aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierrick Bouvier <pierrick.bouvier@linaro.org>2025-01-16 16:02:41 +0000
committerAlex Bennée <alex.bennee@linaro.org>2025-01-17 10:44:35 +0000
commitd0737068e11cc647c85918a0c57f00da27ec14b3 (patch)
treed677772f7f8dacb3eaef1d795fd81bf2ad294dd6
parentc7c430065a5e240bd206b8edb4949256fb528299 (diff)
downloadqemu-d0737068e11cc647c85918a0c57f00da27ec14b3.zip
qemu-d0737068e11cc647c85918a0c57f00da27ec14b3.tar.gz
qemu-d0737068e11cc647c85918a0c57f00da27ec14b3.tar.bz2
contrib/plugins/howvec: ensure we don't regress if this plugin is extended
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-Id: <20241217224306.2900490-3-pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250116160306.1709518-13-alex.bennee@linaro.org>
-rw-r--r--contrib/plugins/howvec.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/contrib/plugins/howvec.c b/contrib/plugins/howvec.c
index 9be67f7..2aa9029 100644
--- a/contrib/plugins/howvec.c
+++ b/contrib/plugins/howvec.c
@@ -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);