6862295: JDWP threadid changes during debugging session (leading to ingored breakpoints)

Correctly count full GC operations for framework collectors. Add ForceFullGCJVMTIEpilogues as a future work around if needed.

Reviewed-by: jcoomes, alanb, ysr
This commit is contained in:
Daniel D. Daugherty 2009-07-28 13:35:00 -06:00
parent ac1f463988
commit 40de9c5fcc
3 changed files with 17 additions and 3 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -456,6 +456,12 @@ void GenCollectedHeap::do_collection(bool full,
int max_level_collected = starting_level;
for (int i = starting_level; i <= max_level; i++) {
if (_gens[i]->should_collect(full, size, is_tlab)) {
if (i == n_gens() - 1) { // a major collection is to happen
if (!complete) {
// The full_collections increment was missed above.
increment_total_full_collections();
}
}
// Timer for individual generations. Last argument is false: no CR
TraceTime t1(_gens[i]->short_name(), PrintGCDetails, false, gclog_or_tty);
TraceCollectorStats tcs(_gens[i]->counters());