comparison src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp @ 14209:46e2a5b0c076

8029326: G1 does not check if threads gets created Reviewed-by: brutisso, jmasa, jwilhelm
author ehelin
date Mon, 09 Dec 2013 08:20:45 +0100
parents e72f7eecc96d
children 63a4eb8bcd23 8847586c9037
comparison
equal deleted inserted replaced
14208:252066a125de 14209:46e2a5b0c076
25 #include "precompiled.hpp" 25 #include "precompiled.hpp"
26 #include "gc_implementation/g1/concurrentG1Refine.hpp" 26 #include "gc_implementation/g1/concurrentG1Refine.hpp"
27 #include "gc_implementation/g1/concurrentG1RefineThread.hpp" 27 #include "gc_implementation/g1/concurrentG1RefineThread.hpp"
28 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" 28 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
29 #include "gc_implementation/g1/g1HotCardCache.hpp" 29 #include "gc_implementation/g1/g1HotCardCache.hpp"
30 #include "runtime/java.hpp"
30 31
31 ConcurrentG1Refine::ConcurrentG1Refine(G1CollectedHeap* g1h) : 32 ConcurrentG1Refine::ConcurrentG1Refine(G1CollectedHeap* g1h) :
32 _threads(NULL), _n_threads(0), 33 _threads(NULL), _n_threads(0),
33 _hot_card_cache(g1h) 34 _hot_card_cache(g1h)
34 { 35 {
60 61
61 ConcurrentG1RefineThread *next = NULL; 62 ConcurrentG1RefineThread *next = NULL;
62 for (int i = _n_threads - 1; i >= 0; i--) { 63 for (int i = _n_threads - 1; i >= 0; i--) {
63 ConcurrentG1RefineThread* t = new ConcurrentG1RefineThread(this, next, worker_id_offset, i); 64 ConcurrentG1RefineThread* t = new ConcurrentG1RefineThread(this, next, worker_id_offset, i);
64 assert(t != NULL, "Conc refine should have been created"); 65 assert(t != NULL, "Conc refine should have been created");
66 if (t->osthread() == NULL) {
67 vm_shutdown_during_initialization("Could not create ConcurrentG1RefineThread");
68 }
69
65 assert(t->cg1r() == this, "Conc refine thread should refer to this"); 70 assert(t->cg1r() == this, "Conc refine thread should refer to this");
66 _threads[i] = t; 71 _threads[i] = t;
67 next = t; 72 next = t;
68 } 73 }
69 } 74 }