src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp

changeset 6168
1de8e5356754
parent 5204
e72f7eecc96d
child 6552
8847586c9037
     1.1 --- a/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp	Fri Dec 06 09:41:57 2013 -0800
     1.2 +++ b/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp	Mon Dec 09 08:20:45 2013 +0100
     1.3 @@ -27,6 +27,7 @@
     1.4  #include "gc_implementation/g1/concurrentG1RefineThread.hpp"
     1.5  #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
     1.6  #include "gc_implementation/g1/g1HotCardCache.hpp"
     1.7 +#include "runtime/java.hpp"
     1.8  
     1.9  ConcurrentG1Refine::ConcurrentG1Refine(G1CollectedHeap* g1h) :
    1.10    _threads(NULL), _n_threads(0),
    1.11 @@ -62,6 +63,10 @@
    1.12    for (int i = _n_threads - 1; i >= 0; i--) {
    1.13      ConcurrentG1RefineThread* t = new ConcurrentG1RefineThread(this, next, worker_id_offset, i);
    1.14      assert(t != NULL, "Conc refine should have been created");
    1.15 +    if (t->osthread() == NULL) {
    1.16 +        vm_shutdown_during_initialization("Could not create ConcurrentG1RefineThread");
    1.17 +    }
    1.18 +
    1.19      assert(t->cg1r() == this, "Conc refine thread should refer to this");
    1.20      _threads[i] = t;
    1.21      next = t;

mercurial