8272773: Configurable card table card size

Reviewed-by: tschatzl, ayang
This commit is contained in:
Vishal Chand 2021-11-20 10:03:45 +00:00 committed by Thomas Schatzl
parent 1d7cef33c5
commit 1c215f3369
13 changed files with 111 additions and 24 deletions

View file

@ -228,17 +228,18 @@ public:
MemRegion dirty_card_range_after_reset(MemRegion mr, bool reset,
int reset_val);
// Constants
enum SomePublicConstants {
card_shift = 9,
card_size = 1 << card_shift,
card_size_in_words = card_size / sizeof(HeapWord)
};
// CardTable entry size
static uint card_shift;
static uint card_size;
static uint card_size_in_words;
static constexpr CardValue clean_card_val() { return clean_card; }
static constexpr CardValue dirty_card_val() { return dirty_card; }
static intptr_t clean_card_row_val() { return clean_card_row; }
// Initialize card size
static void initialize_card_size();
// Card marking array base (adjusted for heap low boundary)
// This would be the 0th element of _byte_map, if the heap started at 0x0.
// But since the heap starts at some higher address, this points to somewhere