622 _last_cur_val_in_gen[i] = clean_card_val(); |
622 _last_cur_val_in_gen[i] = clean_card_val(); |
623 } |
623 } |
624 } |
624 } |
625 |
625 |
626 CardTableRS::~CardTableRS() { |
626 CardTableRS::~CardTableRS() { |
627 if (_last_cur_val_in_gen) { |
627 FREE_C_HEAP_ARRAY(CardValue, _last_cur_val_in_gen); |
628 FREE_C_HEAP_ARRAY(CardValue, _last_cur_val_in_gen); |
628 FREE_C_HEAP_ARRAY(CardArr, _lowest_non_clean); |
629 _last_cur_val_in_gen = NULL; |
629 FREE_C_HEAP_ARRAY(size_t, _lowest_non_clean_chunk_size); |
630 } |
630 FREE_C_HEAP_ARRAY(uintptr_t, _lowest_non_clean_base_chunk_index); |
631 if (_lowest_non_clean) { |
631 FREE_C_HEAP_ARRAY(int, _last_LNC_resizing_collection); |
632 FREE_C_HEAP_ARRAY(CardArr, _lowest_non_clean); |
|
633 _lowest_non_clean = NULL; |
|
634 } |
|
635 if (_lowest_non_clean_chunk_size) { |
|
636 FREE_C_HEAP_ARRAY(size_t, _lowest_non_clean_chunk_size); |
|
637 _lowest_non_clean_chunk_size = NULL; |
|
638 } |
|
639 if (_lowest_non_clean_base_chunk_index) { |
|
640 FREE_C_HEAP_ARRAY(uintptr_t, _lowest_non_clean_base_chunk_index); |
|
641 _lowest_non_clean_base_chunk_index = NULL; |
|
642 } |
|
643 if (_last_LNC_resizing_collection) { |
|
644 FREE_C_HEAP_ARRAY(int, _last_LNC_resizing_collection); |
|
645 _last_LNC_resizing_collection = NULL; |
|
646 } |
|
647 } |
632 } |
648 |
633 |
649 void CardTableRS::initialize() { |
634 void CardTableRS::initialize() { |
650 CardTable::initialize(); |
635 CardTable::initialize(); |
651 _lowest_non_clean = |
636 _lowest_non_clean = |