diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2020-01-23 13:22:48 -1000 |
---|---|---|
committer | Cornelia Huck <cohuck@redhat.com> | 2020-01-27 12:13:10 +0100 |
commit | a2fb6b000ccc257b88b6a7159d179d367b5bf105 (patch) | |
tree | c0476f7fbeb908feb1fcd9c7a3a3de664b6f9cad /target/s390x | |
parent | 344a7f656e8d211cdd6e248a0644612f386ef8ea (diff) | |
download | qemu-a2fb6b000ccc257b88b6a7159d179d367b5bf105.zip qemu-a2fb6b000ccc257b88b6a7159d179d367b5bf105.tar.gz qemu-a2fb6b000ccc257b88b6a7159d179d367b5bf105.tar.bz2 |
target/s390x: Remove DisasFields argument from extract_insn
The separate pointer is now redundant.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200123232248.1800-6-richard.henderson@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'target/s390x')
-rw-r--r-- | target/s390x/translate.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 3674fee..0bd2073 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -6183,8 +6183,7 @@ static void extract_field(DisasFields *o, const DisasField *f, uint64_t insn) /* Lookup the insn at the current PC, extracting the operands into O and returning the info struct for the insn. Returns NULL for invalid insn. */ -static const DisasInsn *extract_insn(CPUS390XState *env, DisasContext *s, - DisasFields *f) +static const DisasInsn *extract_insn(CPUS390XState *env, DisasContext *s) { uint64_t insn, pc = s->base.pc_next; int op, op2, ilen; @@ -6264,13 +6263,14 @@ static const DisasInsn *extract_insn(CPUS390XState *env, DisasContext *s, break; } - memset(f, 0, sizeof(*f)); - f->raw_insn = insn; - f->op = op; - f->op2 = op2; + memset(&s->fields, 0, sizeof(s->fields)); + s->fields.raw_insn = insn; + s->fields.op = op; + s->fields.op2 = op2; /* Lookup the instruction. */ info = lookup_opc(op << 8 | op2); + s->insn = info; /* If we found it, extract the operands. */ if (info != NULL) { @@ -6278,7 +6278,7 @@ static const DisasInsn *extract_insn(CPUS390XState *env, DisasContext *s, int i; for (i = 0; i < NUM_C_FIELD; ++i) { - extract_field(f, &format_info[fmt].op[i], insn); + extract_field(&s->fields, &format_info[fmt].op[i], insn); } } return info; @@ -6302,10 +6302,7 @@ static DisasJumpType translate_one(CPUS390XState *env, DisasContext *s) DisasOps o = {}; /* Search for the insn in the table. */ - insn = extract_insn(env, s, &s->fields); - - /* Set up the strutures we use to communicate with the helpers. */ - s->insn = insn; + insn = extract_insn(env, s); /* Emit insn_start now that we know the ILEN. */ tcg_gen_insn_start(s->base.pc_next, s->cc_op, s->ilen); |