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"); |