# HG changeset patch # User dholmes # Date 1410324256 14400 # Node ID c12e6bac4ad08d70e09b8093fa3792c1b7c1dc10 # Parent 9609f24cecee98a8fbc7d7128c5c710089293ea8 8056183: os::is_MP() always reports true when NMT is enabled Reviewed-by: shade, coleenp, bdelsart diff -r 9609f24cecee -r c12e6bac4ad0 src/share/vm/runtime/os.hpp --- a/src/share/vm/runtime/os.hpp Mon Jul 07 10:18:33 2014 +0200 +++ b/src/share/vm/runtime/os.hpp Wed Sep 10 00:44:16 2014 -0400 @@ -214,13 +214,14 @@ // Interface for detecting multiprocessor system static inline bool is_MP() { -#if !INCLUDE_NMT - assert(_processor_count > 0, "invalid processor count"); - return _processor_count > 1 || AssumeMP; -#else - // NMT needs atomic operations before this initialization. - return true; -#endif + // During bootstrap if _processor_count is not yet initialized + // we claim to be MP as that is safest. If any platform has a + // stub generator that might be triggered in this phase and for + // which being declared MP when in fact not, is a problem - then + // the bootstrap routine for the stub generator needs to check + // the processor count directly and leave the bootstrap routine + // in place until called after initialization has ocurred. + return (_processor_count != 1) || AssumeMP; } static julong available_memory(); static julong physical_memory();