src/hotspot/share/gc/shared/collectedHeap.cpp
changeset 47799 1772ebf07d1f
parent 47779 24022215d092
child 47998 fb0275c320a0
equal deleted inserted replaced
47798:9fe9292f5931 47799:1772ebf07d1f
   239 }
   239 }
   240 
   240 
   241 void CollectedHeap::pre_initialize() {
   241 void CollectedHeap::pre_initialize() {
   242   // Used for ReduceInitialCardMarks (when COMPILER2 is used);
   242   // Used for ReduceInitialCardMarks (when COMPILER2 is used);
   243   // otherwise remains unused.
   243   // otherwise remains unused.
   244 #if defined(COMPILER2) || INCLUDE_JVMCI
   244 #if COMPILER2_OR_JVMCI
   245   _defer_initial_card_mark = is_server_compilation_mode_vm() &&  ReduceInitialCardMarks && can_elide_tlab_store_barriers()
   245   _defer_initial_card_mark = is_server_compilation_mode_vm() &&  ReduceInitialCardMarks && can_elide_tlab_store_barriers()
   246                              && (DeferInitialCardMark || card_mark_must_follow_store());
   246                              && (DeferInitialCardMark || card_mark_must_follow_store());
   247 #else
   247 #else
   248   assert(_defer_initial_card_mark == false, "Who would set it?");
   248   assert(_defer_initial_card_mark == false, "Who would set it?");
   249 #endif
   249 #endif
   543   assert(!use_tlab || Threads::first() != NULL,
   543   assert(!use_tlab || Threads::first() != NULL,
   544          "Attempt to fill tlabs before main thread has been added"
   544          "Attempt to fill tlabs before main thread has been added"
   545          " to threads list is doomed to failure!");
   545          " to threads list is doomed to failure!");
   546   for (JavaThread *thread = Threads::first(); thread; thread = thread->next()) {
   546   for (JavaThread *thread = Threads::first(); thread; thread = thread->next()) {
   547      if (use_tlab) thread->tlab().make_parsable(retire_tlabs);
   547      if (use_tlab) thread->tlab().make_parsable(retire_tlabs);
   548 #if defined(COMPILER2) || INCLUDE_JVMCI
   548 #if COMPILER2_OR_JVMCI
   549      // The deferred store barriers must all have been flushed to the
   549      // The deferred store barriers must all have been flushed to the
   550      // card-table (or other remembered set structure) before GC starts
   550      // card-table (or other remembered set structure) before GC starts
   551      // processing the card-table (or other remembered set).
   551      // processing the card-table (or other remembered set).
   552      if (deferred) flush_deferred_store_barrier(thread);
   552      if (deferred) flush_deferred_store_barrier(thread);
   553 #else
   553 #else