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;