wineserver: Dynamic recompilation of Applications and Games to the x32 API for performance boost

André Hentschel nerv at dawncrow.de
Tue Apr 1 12:55:53 CDT 2014


As you can see, this obviously forces our tools to recompile everything to x32 at runtime.
Benchmarks show that this yields performance boosts up to 1441%, which is also the reason that i use it on non-amd64 CPUs.
By speeding Wine up like this, we should also be able to run on the first Android Smartphones.
No new failures are introduced by that change: https://testbot.winehq.org/JobDetails.pl?Key=6089

---
 server/protocol.def     | 2 +-
 tools/winebuild/build.h | 2 +-
 tools/winegcc/utils.h   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/server/protocol.def b/server/protocol.def
index fec5e75..dd396dc 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -145,7 +145,7 @@ typedef union
 /* supported CPU types */
 enum cpu_type
 {
-    CPU_x86, CPU_x86_64, CPU_POWERPC, CPU_ARM, CPU_ARM64
+    CPU_X32
 };
 typedef int cpu_type_t;
 
diff --git a/tools/winebuild/build.h b/tools/winebuild/build.h
index 41cec91..7130d6b 100644
--- a/tools/winebuild/build.h
+++ b/tools/winebuild/build.h
@@ -140,7 +140,7 @@ typedef struct
 
 enum target_cpu
 {
-    CPU_x86, CPU_x86_64, CPU_POWERPC, CPU_ARM, CPU_ARM64, CPU_LAST = CPU_ARM64
+    CPU_X32, CPU_LAST = CPU_X32
 };
 
 enum target_platform
diff --git a/tools/winegcc/utils.h b/tools/winegcc/utils.h
index 789b4ea..2933272 100644
--- a/tools/winegcc/utils.h
+++ b/tools/winegcc/utils.h
@@ -37,7 +37,7 @@
 
 enum target_cpu
 {
-    CPU_x86, CPU_x86_64, CPU_POWERPC, CPU_ARM, CPU_ARM64
+    CPU_X32
 };
 
 enum target_platform
-- 
1.8.1.2




More information about the wine-patches mailing list