[vmkit-commits] [vmkit] r134999 - /vmkit/trunk/lib/Mvm/CommonThread/ctthread.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Tue Jul 12 13:48:30 PDT 2011


Author: geoffray
Date: Tue Jul 12 15:48:30 2011
New Revision: 134999

URL: http://llvm.org/viewvc/llvm-project?rev=134999&view=rev
Log:
Only mmap 0x20000000 for threads, the other addresses will be used by MMTk.


Modified:
    vmkit/trunk/lib/Mvm/CommonThread/ctthread.cpp

Modified: vmkit/trunk/lib/Mvm/CommonThread/ctthread.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/CommonThread/ctthread.cpp?rev=134999&r1=134998&r2=134999&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/CommonThread/ctthread.cpp (original)
+++ vmkit/trunk/lib/Mvm/CommonThread/ctthread.cpp Tue Jul 12 15:48:30 2011
@@ -290,20 +290,15 @@
     baseAddr = 0;
     uintptr_t ptr = START_ADDR;
 
-    // Do an mmap at a fixed address. If the mmap fails for a given address
-    // use the next one.
-    while (!baseAddr && ptr != END_ADDR) {
-      ptr = ptr + 0x10000000;
 #if defined (__MACH__)
-      uint32 flags = MAP_PRIVATE | MAP_ANON | MAP_FIXED;
+    uint32 flags = MAP_PRIVATE | MAP_ANON | MAP_FIXED;
 #else
-      uint32 flags = MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED;
+    uint32 flags = MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED;
 #endif
-      baseAddr = (uintptr_t)mmap((void*)ptr, STACK_SIZE * NR_THREADS, 
-                                 PROT_READ | PROT_WRITE, flags, -1, 0);
-      if (baseAddr == (uintptr_t)MAP_FAILED) baseAddr = 0;
-    }
-    if (!baseAddr) {
+    baseAddr = (uintptr_t)mmap((void*)ptr, STACK_SIZE * NR_THREADS, 
+                               PROT_READ | PROT_WRITE, flags, -1, 0);
+
+    if (baseAddr == (uintptr_t) MAP_FAILED) {
       fprintf(stderr, "Can not allocate thread memory\n");
       abort();
     }





More information about the vmkit-commits mailing list