|
From: <sv...@va...> - 2013-09-19 10:15:37
|
Author: sewardj
Date: Thu Sep 19 10:15:22 2013
New Revision: 13568
Log:
Double the size of the (already huge) translation cache on all
non-phone/tablet targets. The previous apparently-huge sizing is
evidently not huge enough for recent apps, eg, recent Firefox requires
circa 350k translations to get started and almost fills an 8-sector
cache merely starting up and then idling.
On Android targets, fall back to 6 sectors; space is critical.
Modified:
trunk/coregrind/m_transtab.c
Modified: trunk/coregrind/m_transtab.c
==============================================================================
--- trunk/coregrind/m_transtab.c (original)
+++ trunk/coregrind/m_transtab.c Thu Sep 19 10:15:22 2013
@@ -56,8 +56,16 @@
/*------------------ CONSTANTS ------------------*/
/* Number of sectors the TC is divided into. If you need a larger
- overall translation cache, increase this value. */
-#define N_SECTORS 8
+ overall translation cache, increase this value. On Android, space
+ is limited, so try to get by with fewer sectors. On other
+ platforms we can go to town. 16 sectors gives theoretical capacity
+ of about 440MB of JITted code in 1.05 million translations
+ (realistically, about 2/3 of that) for Memcheck. */
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+# define N_SECTORS 6
+#else
+# define N_SECTORS 16
+#endif
/* Number of TC entries in each sector. This needs to be a prime
number to work properly, it must be <= 65535 (so that a TT index
|