src/share/vm/runtime/os.hpp

changeset 7273
c12e6bac4ad0
parent 7074
833b0f92429a
child 7535
7ae4e26cb1e0
child 7633
8461d0b03127
     1.1 --- a/src/share/vm/runtime/os.hpp	Mon Jul 07 10:18:33 2014 +0200
     1.2 +++ b/src/share/vm/runtime/os.hpp	Wed Sep 10 00:44:16 2014 -0400
     1.3 @@ -214,13 +214,14 @@
     1.4  
     1.5    // Interface for detecting multiprocessor system
     1.6    static inline bool is_MP() {
     1.7 -#if !INCLUDE_NMT
     1.8 -    assert(_processor_count > 0, "invalid processor count");
     1.9 -    return _processor_count > 1 || AssumeMP;
    1.10 -#else
    1.11 -    // NMT needs atomic operations before this initialization.
    1.12 -    return true;
    1.13 -#endif
    1.14 +    // During bootstrap if _processor_count is not yet initialized
    1.15 +    // we claim to be MP as that is safest. If any platform has a
    1.16 +    // stub generator that might be triggered in this phase and for
    1.17 +    // which being declared MP when in fact not, is a problem - then
    1.18 +    // the bootstrap routine for the stub generator needs to check
    1.19 +    // the processor count directly and leave the bootstrap routine
    1.20 +    // in place until called after initialization has ocurred.
    1.21 +    return (_processor_count != 1) || AssumeMP;
    1.22    }
    1.23    static julong available_memory();
    1.24    static julong physical_memory();

mercurial