forked from uli/qemu-s390
-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
configure: fix performance regression due to PIC objects
Because most files in QEMU are grouped into static libraries, Meson conservatively compiles them with -fPIC. This is overkill and produces slowdowns up to 20% on some TCG tests. As a stopgap measure, use the b_staticpic option to limit the slowdown to --enable-pie. mesonbuild/meson#7760 will allow us to use b_staticpic=false and let Meson do the right thing. Reported-by: Ahmed Karaman <ahmedkrmn@outlook.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20200919155639.1045857-1-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
- Loading branch information
Showing
6 changed files
with
31 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
// Highlight object declarations that don't look like object class but | ||
// accidentally inherit from it. | ||
|
||
@match@ | ||
identifier obj_t, fld; | ||
type parent_t =~ ".*Class$"; | ||
@@ | ||
struct obj_t { | ||
parent_t fld; | ||
... | ||
}; | ||
|
||
@script:python filter depends on match@ | ||
obj_t << match.obj_t; | ||
@@ | ||
is_class_obj = obj_t.endswith('Class') | ||
cocci.include_match(not is_class_obj) | ||
@replacement depends on filter@ | ||
identifier match.obj_t, match.fld; | ||
type match.parent_t; | ||
@@ | ||
struct obj_t { | ||
* parent_t fld; | ||
... | ||
}; |