63 // The max value we can store in the counts table is |
63 // The max value we can store in the counts table is |
64 // max_jubyte. Guarantee the value of the hot |
64 // max_jubyte. Guarantee the value of the hot |
65 // threshold limit is no more than this. |
65 // threshold limit is no more than this. |
66 guarantee(G1ConcRSHotCardLimit <= max_jubyte, "sanity"); |
66 guarantee(G1ConcRSHotCardLimit <= max_jubyte, "sanity"); |
67 |
67 |
68 ModRefBarrierSet* bs = _g1h->mr_bs(); |
68 _ct_bs = _g1h->g1_barrier_set(); |
69 guarantee(bs->is_a(BarrierSet::CardTableModRef), "Precondition"); |
|
70 _ct_bs = (CardTableModRefBS*)bs; |
|
71 _ct_bot = _ct_bs->byte_for_const(_g1h->reserved_region().start()); |
69 _ct_bot = _ct_bs->byte_for_const(_g1h->reserved_region().start()); |
72 |
70 |
73 // Allocate/Reserve the counts table |
71 // Allocate/Reserve the counts table |
74 size_t reserved_bytes = _g1h->max_capacity(); |
72 size_t reserved_bytes = _g1h->max_capacity(); |
75 _reserved_max_card_num = reserved_bytes >> CardTableModRefBS::card_shift; |
73 _reserved_max_card_num = reserved_bytes >> CardTableModRefBS::card_shift; |