src/os/bsd/vm/os_bsd.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hs-rt-osx-physical-mem Sdiff src/os/bsd/vm

src/os/bsd/vm/os_bsd.cpp

Print this page




 226 static char cpu_arch[] = "sparcv9";
 227 #  else
 228 static char cpu_arch[] = "sparc";
 229 #  endif
 230 #else
 231 #error Add appropriate cpu_arch setting
 232 #endif
 233 
 234 // Compiler variant
 235 #ifdef COMPILER2
 236 #define COMPILER_VARIANT "server"
 237 #else
 238 #define COMPILER_VARIANT "client"
 239 #endif
 240 
 241 
 242 void os::Bsd::initialize_system_info() {
 243   int mib[2];
 244   size_t len;
 245   int cpu_val;
 246   u_long mem_val;
 247 
 248   /* get processors count via hw.ncpus sysctl */
 249   mib[0] = CTL_HW;
 250   mib[1] = HW_NCPU;
 251   len = sizeof(cpu_val);
 252   if (sysctl(mib, 2, &cpu_val, &len, NULL, 0) != -1 && cpu_val >= 1) {
 253        set_processor_count(cpu_val);
 254   }
 255   else {
 256        set_processor_count(1);   // fallback
 257   }
 258 
 259   /* get physical memory via hw.usermem sysctl (hw.usermem is used
 260    * instead of hw.physmem because we need size of allocatable memory
 261    */
 262   mib[0] = CTL_HW;
 263   mib[1] = HW_USERMEM;
 264   len = sizeof(mem_val);
 265   if (sysctl(mib, 2, &mem_val, &len, NULL, 0) != -1)
 266        _physical_memory = mem_val;
 267   else
 268        _physical_memory = 256*1024*1024;       // fallback (XXXBSD?)
 269 
 270 #ifdef __OpenBSD__
 271   {
 272        // limit _physical_memory memory view on OpenBSD since
 273        // datasize rlimit restricts us anyway.
 274        struct rlimit limits;
 275        getrlimit(RLIMIT_DATA, &limits);
 276        _physical_memory = MIN2(_physical_memory, (julong)limits.rlim_cur);
 277   }
 278 #endif
 279 }
 280 
 281 #ifdef __APPLE__
 282 static const char *get_home() {
 283   const char *home_dir = ::getenv("HOME");




 226 static char cpu_arch[] = "sparcv9";
 227 #  else
 228 static char cpu_arch[] = "sparc";
 229 #  endif
 230 #else
 231 #error Add appropriate cpu_arch setting
 232 #endif
 233 
 234 // Compiler variant
 235 #ifdef COMPILER2
 236 #define COMPILER_VARIANT "server"
 237 #else
 238 #define COMPILER_VARIANT "client"
 239 #endif
 240 
 241 
 242 void os::Bsd::initialize_system_info() {
 243   int mib[2];
 244   size_t len;
 245   int cpu_val;
 246   julong mem_val;
 247 
 248   /* get processors count via hw.ncpus sysctl */
 249   mib[0] = CTL_HW;
 250   mib[1] = HW_NCPU;
 251   len = sizeof(cpu_val);
 252   if (sysctl(mib, 2, &cpu_val, &len, NULL, 0) != -1 && cpu_val >= 1) {
 253        set_processor_count(cpu_val);
 254   }
 255   else {
 256        set_processor_count(1);   // fallback
 257   }
 258 
 259   /* get physical memory via hw.memsize sysctl (hw.memsize is used
 260    * since it returns a 64 bit value)
 261    */
 262   mib[0] = CTL_HW;
 263   mib[1] = HW_MEMSIZE;
 264   len = sizeof(mem_val);
 265   if (sysctl(mib, 2, &mem_val, &len, NULL, 0) != -1)
 266        _physical_memory = mem_val;
 267   else
 268        _physical_memory = 256*1024*1024;       // fallback (XXXBSD?)
 269 
 270 #ifdef __OpenBSD__
 271   {
 272        // limit _physical_memory memory view on OpenBSD since
 273        // datasize rlimit restricts us anyway.
 274        struct rlimit limits;
 275        getrlimit(RLIMIT_DATA, &limits);
 276        _physical_memory = MIN2(_physical_memory, (julong)limits.rlim_cur);
 277   }
 278 #endif
 279 }
 280 
 281 #ifdef __APPLE__
 282 static const char *get_home() {
 283   const char *home_dir = ::getenv("HOME");


src/os/bsd/vm/os_bsd.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File