Index: scripts/limits.patch |
=================================================================== |
--- scripts/limits.patch (revision 0) |
+++ scripts/limits.patch (revision 0) |
@@ -0,0 +1,39 @@ |
+Index: include/pub_tool_threadstate.h |
+=================================================================== |
+--- include/pub_tool_threadstate.h (revision 11055) |
++++ include/pub_tool_threadstate.h (working copy) |
+@@ -36,7 +36,11 @@ |
+ scheduler algorithms is surely O(N) in the number of threads, since |
+ that's simple, at least. And (in practice) we hope that most |
+ programs do not need many threads. */ |
++#if defined(VGO_darwin) |
+ #define VG_N_THREADS 500 |
++#else |
++#define VG_N_THREADS 10000 |
++#endif |
+ |
+ /* Special magic value for an invalid ThreadId. It corresponds to |
+ LinuxThreads using zero as the initial value for |
+Index: coregrind/m_aspacemgr/aspacemgr-linux.c |
+=================================================================== |
+--- coregrind/m_aspacemgr/aspacemgr-linux.c (revision 11055) |
++++ coregrind/m_aspacemgr/aspacemgr-linux.c (working copy) |
+@@ -265,10 +265,18 @@ |
+ /* ------ start of STATE for the address-space manager ------ */ |
+ |
+ /* Max number of segments we can track. */ |
++#if defined(VGO_darwin) |
+ #define VG_N_SEGMENTS 5000 |
++#else |
++#define VG_N_SEGMENTS 100000 |
++#endif |
+ |
+ /* Max number of segment file names we can track. */ |
++#if defined(VGO_darwin) |
+ #define VG_N_SEGNAMES 1000 |
++#else |
++#define VG_N_SEGNAMES 100000 |
++#endif |
+ |
+ /* Max length of a segment file name. */ |
+ #define VG_MAX_SEGNAMELEN 1000 |