< prev index next >

src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionSet.hpp

Print this page
rev 10690 : [backport] Cleanup header files and forward declarations
rev 10715 : [backport] Cleanup up superfluous newlines
rev 10740 : [backport] Protect more internal code from false sharing
rev 10772 : [backport] Update copyrights

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2013, 2017, Red Hat, Inc. and/or its affiliates.
+ * Copyright (c) 2013, 2018, Red Hat, Inc. All rights reserved.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.
  *

@@ -23,21 +23,24 @@
 
 #ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_HPP
 #define SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_HPP
 
 #include "memory/allocation.hpp"
+#include "gc_implementation/shenandoah/shenandoahHeap.hpp"
+#include "gc_implementation/shenandoah/shenandoahHeapRegion.hpp"
 
-class ShenandoahHeap;
-class ShenandoahHeapRegion;
 class ShenandoahHeapRegionSet;
 
 class ShenandoahHeapRegionSetIterator : public StackObj {
 private:
   const ShenandoahHeapRegionSet* _set;
-  volatile jint _current_index;
   ShenandoahHeap* const _heap;
 
+  char _pad0[DEFAULT_CACHE_LINE_SIZE];
+  volatile jint _current_index;
+  char _pad1[DEFAULT_CACHE_LINE_SIZE];
+
   // No implicit copying: iterators should be passed by reference to capture the state
   ShenandoahHeapRegionSetIterator(const ShenandoahHeapRegionSetIterator& that);
   ShenandoahHeapRegionSetIterator& operator=(const ShenandoahHeapRegionSetIterator& o);
 
 public:

@@ -63,11 +66,10 @@
   // Bias set map's base address for fast test if an oop is in set
   jbyte* const          _biased_set_map;
   size_t                _region_count;
 
 public:
-
   ShenandoahHeapRegionSet();
   ~ShenandoahHeapRegionSet();
 
   // Add region to set
   void add_region(ShenandoahHeapRegion* r);
< prev index next >