Mercurial > hg > truffle
comparison src/share/vm/runtime/os.hpp @ 20559:c12e6bac4ad0
8056183: os::is_MP() always reports true when NMT is enabled
Reviewed-by: shade, coleenp, bdelsart
author | dholmes |
---|---|
date | Wed, 10 Sep 2014 00:44:16 -0400 |
parents | 833b0f92429a |
children | 7848fc12602b |
comparison
equal
deleted
inserted
replaced
20558:9609f24cecee | 20559:c12e6bac4ad0 |
---|---|
212 // Returns buffer, or NULL if it failed. | 212 // Returns buffer, or NULL if it failed. |
213 static char* iso8601_time(char* buffer, size_t buffer_length); | 213 static char* iso8601_time(char* buffer, size_t buffer_length); |
214 | 214 |
215 // Interface for detecting multiprocessor system | 215 // Interface for detecting multiprocessor system |
216 static inline bool is_MP() { | 216 static inline bool is_MP() { |
217 #if !INCLUDE_NMT | 217 // During bootstrap if _processor_count is not yet initialized |
218 assert(_processor_count > 0, "invalid processor count"); | 218 // we claim to be MP as that is safest. If any platform has a |
219 return _processor_count > 1 || AssumeMP; | 219 // stub generator that might be triggered in this phase and for |
220 #else | 220 // which being declared MP when in fact not, is a problem - then |
221 // NMT needs atomic operations before this initialization. | 221 // the bootstrap routine for the stub generator needs to check |
222 return true; | 222 // the processor count directly and leave the bootstrap routine |
223 #endif | 223 // in place until called after initialization has ocurred. |
224 return (_processor_count != 1) || AssumeMP; | |
224 } | 225 } |
225 static julong available_memory(); | 226 static julong available_memory(); |
226 static julong physical_memory(); | 227 static julong physical_memory(); |
227 static bool has_allocatable_memory_limit(julong* limit); | 228 static bool has_allocatable_memory_limit(julong* limit); |
228 static bool is_server_class_machine(); | 229 static bool is_server_class_machine(); |