< prev index next >

src/share/vm/gc_implementation/g1/g1Allocator.hpp

Print this page
rev 7471 : 8060025: Object copy time regressions after JDK-8031323 and JDK-8057536
Summary: Evaluate and improve object copy time by micro-optimizations and splitting out slow and fast paths aggressively.
Reviewed-by:
Contributed-by: Tony Printezis <tprintezis@twitter.com>, Thomas Schatzl <thomas.schatzl@oracle.com>
rev 7472 : [mq]: 8060025-mikael-review1

@@ -25,33 +25,13 @@
 #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_G1ALLOCATOR_HPP
 #define SHARE_VM_GC_IMPLEMENTATION_G1_G1ALLOCATOR_HPP
 
 #include "gc_implementation/g1/g1AllocationContext.hpp"
 #include "gc_implementation/g1/g1AllocRegion.hpp"
+#include "gc_implementation/g1/g1InCSetState.hpp"
 #include "gc_implementation/shared/parGCAllocBuffer.hpp"
 
-typedef int8_t in_cset_state_t;
-
-// Helper class used to examine in_cset_t values.
-class InCSetState : AllStatic {
-public:
-  enum {
-    // Values <0 mean the region is a humongous region.
-    NotInCSet    = 0,     // The region is not in the collection set.
-    Young        = 1,     // The region is in the collection set and a young region.
-    Old          = 2,     // The region is in the collection set and an old region.
-    Num
-  };
-
-  static in_cset_state_t humongous() { return -1; }
-
-  static bool is_not_in_cset(in_cset_state_t state) { return state == NotInCSet; }
-  static bool is_in_cset_or_humongous(in_cset_state_t state) { return state != NotInCSet; }
-  static bool is_in_cset(in_cset_state_t state) { return state > NotInCSet; }
-  static bool is_humongous(in_cset_state_t state) { return state < NotInCSet; }
-};
-
 // Base class for G1 allocators.
 class G1Allocator : public CHeapObj<mtGC> {
   friend class VMStructs;
 protected:
   G1CollectedHeap* _g1h;
< prev index next >