< prev index next >

src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp

Print this page
*** 39,11 ***
  #include "gc/g1/g1OopClosures.inline.hpp"
  #include "gc/g1/g1ParScanThreadState.hpp"
  #include "gc/g1/g1RemSet.hpp"
  #include "gc/g1/g1YoungGCPostEvacuateTasks.hpp"
  #include "gc/shared/bufferNode.hpp"
- #include "gc/shared/preservedMarks.inline.hpp"
  #include "jfr/jfrEvents.hpp"
  #include "oops/access.inline.hpp"
  #include "oops/compressedOops.inline.hpp"
  #include "oops/oop.inline.hpp"
  #include "runtime/prefetch.hpp"
--- 39,10 ---

*** 249,11 ***
        HeapWord* const obj_end_addr = obj_addr + obj_size;
  
        {
          // Process marked object.
          assert(obj->is_forwarded() && obj->forwardee() == obj, "must be self-forwarded");
!         obj->init_mark();
          hr->update_bot_for_block(obj_addr, obj_end_addr);
  
          // Statistics
          num_marked_objs++;
          marked_words += obj_size;
--- 248,11 ---
        HeapWord* const obj_end_addr = obj_addr + obj_size;
  
        {
          // Process marked object.
          assert(obj->is_forwarded() && obj->forwardee() == obj, "must be self-forwarded");
!         obj->unset_self_forwarded();
          hr->update_bot_for_block(obj_addr, obj_end_addr);
  
          // Statistics
          num_marked_objs++;
          marked_words += obj_size;

*** 474,31 ***
      _humongous_regions_reclaimed = cl.humongous_regions_reclaimed();
      _bytes_freed = cl.bytes_freed();
    }
  };
  
- class G1PostEvacuateCollectionSetCleanupTask2::RestorePreservedMarksTask : public G1AbstractSubTask {
-   PreservedMarksSet* _preserved_marks;
-   WorkerTask* _task;
- 
- public:
-   RestorePreservedMarksTask(PreservedMarksSet* preserved_marks) :
-     G1AbstractSubTask(G1GCPhaseTimes::RestorePreservedMarks),
-     _preserved_marks(preserved_marks),
-     _task(preserved_marks->create_task()) { }
- 
-   virtual ~RestorePreservedMarksTask() {
-     delete _task;
-   }
- 
-   double worker_cost() const override {
-     return _preserved_marks->num();
-   }
- 
-   void do_work(uint worker_id) override { _task->work(worker_id); }
- };
- 
  class RedirtyLoggedCardTableEntryClosure : public G1CardTableEntryClosure {
    size_t _num_dirtied;
    G1CollectedHeap* _g1h;
    G1CardTable* _g1_ct;
    G1EvacFailureRegions* _evac_failure_regions;
--- 473,10 ---

*** 969,11 ***
    if (G1CollectedHeap::heap()->has_humongous_reclaim_candidates()) {
      add_serial_task(new EagerlyReclaimHumongousObjectsTask());
    }
  
    if (evac_failure_regions->has_regions_evac_failed()) {
-     add_parallel_task(new RestorePreservedMarksTask(per_thread_states->preserved_marks_set()));
      add_parallel_task(new ProcessEvacuationFailedRegionsTask(evac_failure_regions));
    }
    add_parallel_task(new RedirtyLoggedCardsTask(evac_failure_regions,
                                                 per_thread_states->rdc_buffers(),
                                                 per_thread_states->num_workers()));
--- 947,10 ---
< prev index next >