hotspot/src/share/vm/gc/shared/collectedHeap.cpp
changeset 33198 b37ad9fbf681
parent 33146 77349b58b4c0
parent 33160 c59f1676d27e
child 35061 be6025ebffea
equal deleted inserted replaced
33155:73bf16b22e89 33198:b37ad9fbf681
   229 }
   229 }
   230 
   230 
   231 void CollectedHeap::pre_initialize() {
   231 void CollectedHeap::pre_initialize() {
   232   // Used for ReduceInitialCardMarks (when COMPILER2 is used);
   232   // Used for ReduceInitialCardMarks (when COMPILER2 is used);
   233   // otherwise remains unused.
   233   // otherwise remains unused.
   234 #ifdef COMPILER2
   234 #if defined(COMPILER2) || INCLUDE_JVMCI
   235   _defer_initial_card_mark =    ReduceInitialCardMarks && can_elide_tlab_store_barriers()
   235   _defer_initial_card_mark =    ReduceInitialCardMarks && can_elide_tlab_store_barriers()
   236                              && (DeferInitialCardMark || card_mark_must_follow_store());
   236                              && (DeferInitialCardMark || card_mark_must_follow_store());
   237 #else
   237 #else
   238   assert(_defer_initial_card_mark == false, "Who would set it?");
   238   assert(_defer_initial_card_mark == false, "Who would set it?");
   239 #endif
   239 #endif
   537   assert(!use_tlab || Threads::first() != NULL,
   537   assert(!use_tlab || Threads::first() != NULL,
   538          "Attempt to fill tlabs before main thread has been added"
   538          "Attempt to fill tlabs before main thread has been added"
   539          " to threads list is doomed to failure!");
   539          " to threads list is doomed to failure!");
   540   for (JavaThread *thread = Threads::first(); thread; thread = thread->next()) {
   540   for (JavaThread *thread = Threads::first(); thread; thread = thread->next()) {
   541      if (use_tlab) thread->tlab().make_parsable(retire_tlabs);
   541      if (use_tlab) thread->tlab().make_parsable(retire_tlabs);
   542 #ifdef COMPILER2
   542 #if defined(COMPILER2) || INCLUDE_JVMCI
   543      // The deferred store barriers must all have been flushed to the
   543      // The deferred store barriers must all have been flushed to the
   544      // card-table (or other remembered set structure) before GC starts
   544      // card-table (or other remembered set structure) before GC starts
   545      // processing the card-table (or other remembered set).
   545      // processing the card-table (or other remembered set).
   546      if (deferred) flush_deferred_store_barrier(thread);
   546      if (deferred) flush_deferred_store_barrier(thread);
   547 #else
   547 #else