From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Andreas Färber" <afaerber@suse.de>, liguang <lig.fnst@cn.fujitsu.com>
Subject: [Qemu-devel] [PATCH 19/20] target-i386: Avoid goto in hw_breakpoint_insert()
Date: Tue, 15 Jan 2013 10:27:37 +0100 [thread overview]
Message-ID: <1358242058-1404-20-git-send-email-afaerber@suse.de> (raw)
In-Reply-To: <1358242058-1404-1-git-send-email-afaerber@suse.de>
From: liguang <lig.fnst@cn.fujitsu.com>
"Go To Statement Considered Harmful" -- E. Dijkstra
To avoid an unnecessary goto within the switch statement, move
watchpoint insertion out of the switch statement. Improves readability.
While at it, fix Coding Style issues (missing braces, indentation).
Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
target-i386/helper.c | 16 ++++++++++------
1 Datei geändert, 10 Zeilen hinzugefügt(+), 6 Zeilen entfernt(-)
diff --git a/target-i386/helper.c b/target-i386/helper.c
index ebdd6a5..a10b562 100644
--- a/target-i386/helper.c
+++ b/target-i386/helper.c
@@ -966,7 +966,7 @@ hwaddr cpu_get_phys_page_debug(CPUX86State *env, target_ulong addr)
void hw_breakpoint_insert(CPUX86State *env, int index)
{
- int type, err = 0;
+ int type = 0, err = 0;
switch (hw_breakpoint_type(env->dr[7], index)) {
case DR7_TYPE_BP_INST:
@@ -977,20 +977,24 @@ void hw_breakpoint_insert(CPUX86State *env, int index)
break;
case DR7_TYPE_DATA_WR:
type = BP_CPU | BP_MEM_WRITE;
- goto insert_wp;
+ break;
case DR7_TYPE_IO_RW:
- /* No support for I/O watchpoints yet */
+ /* No support for I/O watchpoints yet */
break;
case DR7_TYPE_DATA_RW:
type = BP_CPU | BP_MEM_ACCESS;
- insert_wp:
+ break;
+ }
+
+ if (type != 0) {
err = cpu_watchpoint_insert(env, env->dr[index],
hw_breakpoint_len(env->dr[7], index),
type, &env->cpu_watchpoint[index]);
- break;
}
- if (err)
+
+ if (err) {
env->cpu_breakpoint[index] = NULL;
+ }
}
void hw_breakpoint_remove(CPUX86State *env, int index)
--
1.7.10.4
next prev parent reply other threads:[~2013-01-15 9:50 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-15 9:27 [Qemu-devel] [PULL] QOM CPUState patch queue 2013-01-15 Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 01/20] cpu: Move nr_{cores, threads} fields to CPUState Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 02/20] target-mips: Clean up mips_cpu_map_tc() documentation Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 03/20] cpu: Move numa_node field to CPUState Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 04/20] cpu: Move cpu_index " Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 05/20] kvm: Pass CPUState to kvm_init_vcpu() Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 06/20] xen: Simplify halting of first CPU Andreas Färber
2013-01-15 11:03 ` Stefano Stabellini
2013-01-15 14:46 ` Andreas Färber
2013-01-15 15:44 ` Stefano Stabellini
2013-01-15 9:27 ` [Qemu-devel] [PATCH 07/20] exec: Return CPUState from qemu_get_cpu() Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 08/20] kvm: Add fake KVM constants to avoid #ifdefs on KVM-specific code Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 09/20] target-i386: Disable kvm_mmu by default Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 10/20] target-i386/cpu: Introduce FeatureWord typedefs Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 11/20] target-i386: kvm_check_features_against_host(): Use feature_word_info Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 12/20] target-i386/cpu.c: Add feature name array for ext4_features Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 13/20] target-i386: check/enforce: Check all feature words Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 14/20] target-i386: Move setting defaults out of cpu_x86_parse_featurestr() Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 15/20] target-i386: cpu_x86_register() consolidate freeing resources Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 16/20] target-i386: Move kvm_check_features_against_host() check to realize time Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 17/20] target-i386: Define DR7 bit field constants Andreas Färber
2013-01-15 9:27 ` [Qemu-devel] [PATCH 18/20] target-i386: Introduce hw_{local, global}_breakpoint_enabled() Andreas Färber
2013-01-15 9:27 ` Andreas Färber [this message]
2013-01-15 9:27 ` [Qemu-devel] [PATCH 20/20] target-i386: Use switch in check_hw_breakpoints() Andreas Färber
2013-01-16 1:18 ` [Qemu-devel] [PULL] QOM CPUState patch queue 2013-01-15 Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1358242058-1404-20-git-send-email-afaerber@suse.de \
--to=afaerber@suse.de \
--cc=lig.fnst@cn.fujitsu.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).