594 assert( surv_rate_group != NULL, "pre-condition" );
595 assert( _surv_rate_group == NULL, "pre-condition" );
596 assert( is_young(), "pre-condition" );
597
598 _surv_rate_group = surv_rate_group;
599 _age_index = surv_rate_group->next_age_index();
600 }
601
602 void uninstall_surv_rate_group() {
603 if (_surv_rate_group != NULL) {
604 assert( _age_index > -1, "pre-condition" );
605 assert( is_young(), "pre-condition" );
606
607 _surv_rate_group = NULL;
608 _age_index = -1;
609 } else {
610 assert( _age_index == -1, "pre-condition" );
611 }
612 }
613
614 void set_free();
615
616 void set_eden();
617 void set_eden_pre_gc();
618 void set_survivor();
619
620 void move_to_old();
621 void set_old();
622
623 void set_open_archive();
624 void set_closed_archive();
625
626 // Determine if an object has been allocated since the last
627 // mark performed by the collector. This returns true iff the object
628 // is within the unmarked area of the region.
629 bool obj_allocated_since_prev_marking(oop obj) const {
630 return (HeapWord *) obj >= prev_top_at_mark_start();
631 }
632 bool obj_allocated_since_next_marking(oop obj) const {
633 return (HeapWord *) obj >= next_top_at_mark_start();
|
594 assert( surv_rate_group != NULL, "pre-condition" );
595 assert( _surv_rate_group == NULL, "pre-condition" );
596 assert( is_young(), "pre-condition" );
597
598 _surv_rate_group = surv_rate_group;
599 _age_index = surv_rate_group->next_age_index();
600 }
601
602 void uninstall_surv_rate_group() {
603 if (_surv_rate_group != NULL) {
604 assert( _age_index > -1, "pre-condition" );
605 assert( is_young(), "pre-condition" );
606
607 _surv_rate_group = NULL;
608 _age_index = -1;
609 } else {
610 assert( _age_index == -1, "pre-condition" );
611 }
612 }
613
614 // Used to install surv rate group for a retained heap region.
615 void install_surv_rate_group_for_retained(SurvRateGroup* surv_rate_group) {
616 assert( surv_rate_group != NULL, "pre-condition" );
617 assert( _surv_rate_group == NULL, "pre-condition" );
618 assert( is_young(), "pre-condition" );
619
620 _surv_rate_group = surv_rate_group;
621 _age_index = surv_rate_group->next_age_index_for_retained();
622 }
623
624 void set_free();
625
626 void set_eden();
627 void set_eden_pre_gc();
628 void set_survivor();
629
630 void move_to_old();
631 void set_old();
632
633 void set_open_archive();
634 void set_closed_archive();
635
636 // Determine if an object has been allocated since the last
637 // mark performed by the collector. This returns true iff the object
638 // is within the unmarked area of the region.
639 bool obj_allocated_since_prev_marking(oop obj) const {
640 return (HeapWord *) obj >= prev_top_at_mark_start();
641 }
642 bool obj_allocated_since_next_marking(oop obj) const {
643 return (HeapWord *) obj >= next_top_at_mark_start();
|