< 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 >