src/os/solaris/vm/os_solaris.cpp

Print this page
rev 2675 : merge with latest default trunk

@@ -2775,12 +2775,15 @@
 }
 
 bool os::commit_memory(char* addr, size_t bytes, bool exec) {
   int prot = exec ? PROT_READ|PROT_WRITE|PROT_EXEC : PROT_READ|PROT_WRITE;
   size_t size = bytes;
-  return
-     NULL != Solaris::mmap_chunk(addr, size, MAP_PRIVATE|MAP_FIXED, prot);
+  char *res = Solaris::mmap_chunk(addr, size, MAP_PRIVATE|MAP_FIXED, prot);
+  if (UseNUMAInterleaving) {
+    numa_make_global(addr, bytes);
+  }
+  return res != NULL;
 }
 
 bool os::commit_memory(char* addr, size_t bytes, size_t alignment_hint,
                        bool exec) {
   if (commit_memory(addr, bytes, exec)) {

@@ -3435,10 +3438,13 @@
       warning(msg);
     }
     return NULL;
   }
 
+  if (UseNUMAInterleaving) {
+    numa_make_global(retAddr, bytes);
+  }
   return retAddr;
 }
 
 bool os::release_memory_special(char* base, size_t bytes) {
   // detaching the SHM segment will also delete it, see reserve_memory_special()