1952 if (VerifyObjectStartArray &&
1953 VerifyAfterGC) {
1954 old_gen->verify_object_start_array();
1955 }
1956
1957 if (ZapUnusedHeapArea) {
1958 old_gen->object_space()->check_mangled_unused_area_complete();
1959 }
1960
1961 NOT_PRODUCT(ref_processor()->verify_no_references_recorded());
1962
1963 collection_exit.update();
1964
1965 heap->print_heap_after_gc();
1966 heap->trace_heap_after_gc(&_gc_tracer);
1967
1968 log_debug(gc, task, time)("VM-Thread " JLONG_FORMAT " " JLONG_FORMAT " " JLONG_FORMAT,
1969 marking_start.ticks(), compaction_start.ticks(),
1970 collection_exit.ticks());
1971
1972 #ifdef TRACESPINNING
1973 TaskTerminator::print_termination_counts();
1974 #endif
1975
1976 AdaptiveSizePolicyOutput::print(size_policy, heap->total_collections());
1977
1978 _gc_timer.register_gc_end();
1979
1980 _gc_tracer.report_dense_prefix(dense_prefix(old_space_id));
1981 _gc_tracer.report_gc_end(_gc_timer.gc_end(), _gc_timer.time_partitions());
1982
1983 return true;
1984 }
1985
1986 bool PSParallelCompact::absorb_live_data_from_eden(PSAdaptiveSizePolicy* size_policy,
1987 PSYoungGen* young_gen,
1988 PSOldGen* old_gen) {
1989 MutableSpace* const eden_space = young_gen->eden_space();
1990 assert(!eden_space->is_empty(), "eden must be non-empty");
1991 assert(young_gen->virtual_space()->alignment() ==
1992 old_gen->virtual_space()->alignment(), "alignments do not match");
1993
1994 // We also return false when it's a heterogeneous heap because old generation cannot absorb data from eden
1995 // when it is allocated on different memory (example, nv-dimm) than young.
|
1952 if (VerifyObjectStartArray &&
1953 VerifyAfterGC) {
1954 old_gen->verify_object_start_array();
1955 }
1956
1957 if (ZapUnusedHeapArea) {
1958 old_gen->object_space()->check_mangled_unused_area_complete();
1959 }
1960
1961 NOT_PRODUCT(ref_processor()->verify_no_references_recorded());
1962
1963 collection_exit.update();
1964
1965 heap->print_heap_after_gc();
1966 heap->trace_heap_after_gc(&_gc_tracer);
1967
1968 log_debug(gc, task, time)("VM-Thread " JLONG_FORMAT " " JLONG_FORMAT " " JLONG_FORMAT,
1969 marking_start.ticks(), compaction_start.ticks(),
1970 collection_exit.ticks());
1971
1972 AdaptiveSizePolicyOutput::print(size_policy, heap->total_collections());
1973
1974 _gc_timer.register_gc_end();
1975
1976 _gc_tracer.report_dense_prefix(dense_prefix(old_space_id));
1977 _gc_tracer.report_gc_end(_gc_timer.gc_end(), _gc_timer.time_partitions());
1978
1979 return true;
1980 }
1981
1982 bool PSParallelCompact::absorb_live_data_from_eden(PSAdaptiveSizePolicy* size_policy,
1983 PSYoungGen* young_gen,
1984 PSOldGen* old_gen) {
1985 MutableSpace* const eden_space = young_gen->eden_space();
1986 assert(!eden_space->is_empty(), "eden must be non-empty");
1987 assert(young_gen->virtual_space()->alignment() ==
1988 old_gen->virtual_space()->alignment(), "alignments do not match");
1989
1990 // We also return false when it's a heterogeneous heap because old generation cannot absorb data from eden
1991 // when it is allocated on different memory (example, nv-dimm) than young.
|