Mercurial > hg > graal-jvmci-8
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 } |