215 Commits

Author SHA1 Message Date
John R Rose
e261aecad8 6863023: need non-perm oops in code cache for JSR 292
Make a special root-list for those few nmethods which might contain non-perm oops.

Reviewed-by: twisti, kvn, never, jmasa, ysr
2009-09-15 21:53:47 -07:00
Y. Srinivas Ramakrishna
8c18990964 6861557: G1: assert(top() == bottom() || zfs == Allocated,"Region must be empty, or ...")
Druing heap shrinking, check for emptiness of a region before modifying its ZF status.

Reviewed-by: tonyp
2009-09-15 16:50:50 -07:00
Andrey Petrusenko
ead860c069 6872000: G1: compilation fails on linux/older gcc
Reviewed-by: jcoomes, tonyp
2009-08-14 13:44:15 -07:00
John Cuthbertson
f1cbffdd3e 6819077: G1: first GC thread coming late into the GC
The first worker thread is delayed when entering the GC because it clears the card count table that is used in identifying hot cards. Replace the card count table with a dynamically sized evicting hash table that includes an epoch based counter.

Reviewed-by: iveresov, tonyp
2009-08-04 16:00:17 -07:00
John Cuthbertson
36917caf5e 6865703: G1: Parallelize hot card cache cleanup
Have the GC worker threads clear the hot card cache in parallel by having each worker thread claim a chunk of the card cache and process the cards in that chunk. The size of the chunks that each thread will claim is determined at VM initialization from the size of the card cache and the number of worker threads.

Reviewed-by: jmasa, tonyp
2009-08-03 12:59:30 -07:00
Y. Srinivas Ramakrishna
968de64586 Merge 2009-07-31 10:41:29 -07:00
Antonios Printezis
243367ec16 6819085: G1: use larger and/or user settable region size
Instead of the region size being hard-coded, allow the user to set it.

Reviewed-by: jmasa, johnc, apetrusenko
2009-07-30 16:22:58 -04:00
Y. Srinivas Ramakrishna
c6763b5bad 4957990: Perm heap bloat in JVM
Treat ProfileData in MDO's as a source of weak, not strong, roots. Fixes the bug for stop-world collection -- the case of concurrent collection will be fixed separately.

Reviewed-by: jcoomes, jmasa, kvn, never
2009-09-02 00:04:29 -07:00
Andrey Petrusenko
2491751525 6841313: G1: dirty cards of survivor regions in parallel
Reviewed-by: tonyp, iveresov
2009-08-31 05:27:29 -07:00
Antonios Printezis
6a97a03610 Merge 2009-08-24 13:52:42 -07:00
Jon Masamitsu
20a43bad21 6798898: CMS: bugs related to class unloading
Override should_remember_klasses() and remember_klass() as needed.

Reviewed-by: ysr, jcoomes
2009-08-24 10:36:31 -07:00
Antonios Printezis
4d138cd094 6871111: G1: remove the concurrent overhead tracker
Removing the concurrent overhead tracker from G1, along with the GC overhead reporter and the G1AccountConcurrentOverhead (both of which rely on the the concurrent overhead tracker).

Reviewed-by: iveresov, johnc
2009-08-19 12:53:25 -04:00
Antonios Printezis
1d0a8b2945 6866591: G1: print update buffer processing stats more often
It adds parameter -XX:+G1SummarizeRSetStatsPeriod that causes update buffer processing information to be printed periodically. It also includes two small formatting changes.

Reviewed-by: jmasa, jcoomes, ysr
2009-07-30 14:50:58 -04:00
Erik Trimble
e846382e12 Merge 2009-07-29 16:00:35 -07:00
Antonios Printezis
5f7ed79e3c 6864886: G1: rename -XX parameters related to update buffers
Renaming a couple of update buffer-related parameters to make them more understandable and consistent.

Reviewed-by: iveresov, ysr
2009-07-29 11:01:26 -04:00
Xiomara Jayasena
a63ef10004 6862919: Update copyright year
Update copyright for files that have been modified in 2009, up to 07/09

Reviewed-by: tbell, ohair
2009-07-28 12:12:40 -07:00
Y. Srinivas Ramakrishna
759881b511 6863216: Clean up debugging debris inadvertently pushed with 6700789
Anti-delta for debugging debris that was inadvertently pushed.

Reviewed-by: kvn, tonyp
2009-07-22 18:25:00 -07:00
Andrey Petrusenko
0e783b7554 6862661: G1: _gc_alloc_region_counts is not updated properly after 6604422
Implementation of RFE 6604422 (G1: re-use half-promoted regions) introduced incorrect _gc_alloc_region_counts updates which effectively disabled survivor spaces.

Reviewed-by: johnc, jmasa, tonyp
2009-07-22 02:46:55 -07:00
Antonios Printezis
26c66d0015 6859911: G1: assert(Heap_lock->owner() = NULL, "Should be owned on this thread's behalf")
The used() method assumes that the heap lock is held when it is called. However, when used() is called from print_on(), this is not the case.

Reviewed-by: ysr, jmasa
2009-07-15 12:22:59 -04:00
Y. Srinivas Ramakrishna
075c1335cb 6700789: G1: Enable use of compressed oops with G1 heaps
Modifications to G1 so as to allow the use of compressed oops.

Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
2009-07-14 15:40:39 -07:00
Antonios Printezis
1215bc6717 6855834: G1: minimize the output when -XX:+PrintHeapAtGC is set
Changing the behavior of -XX:+PrintHeapAtGC for G1 from printing lengthy, per-region information to instead printing a concise summary.

Reviewed-by: ysr, apetrusenko, jcoomes
2009-07-07 14:23:00 -04:00
Antonios Printezis
eec17fe775 6855115: G1: Fix for 6850869 is incorrect
Missed updating two variable names when improving the code for 6850869.

Reviewed-by: iveresov, jmasa, ysr
2009-06-29 12:17:03 -04:00
Antonios Printezis
3a643c42b0 6850869: G1: RSet "scrubbing" scrubs too much
RSet scrubbing incorrectly deletes RSet entries that point to regions tagged as "continues humongous" due to a race when RSet scrubbing iterates over regions in parallel.

Reviewed-by: apetrusenko, iveresov
2009-06-24 11:42:03 -04:00
Antonios Printezis
f741e2fceb 6850846: G1: extend G1 marking verification
Extend G1 marking verification to use either the "prev" or "next" marking information, as appropriate.

Reviewed-by: johnc, ysr
2009-06-12 16:20:16 -04:00
John Coomes
10002fa2ff 6814552: par compact - some compilers fail to optimize bitmap code
Reviewed-by: tonyp, iveresov, jmasa, ysr
2009-06-07 22:08:24 -07:00
John Cuthbertson
70fe3ca4f5 6843694: G1: assert(index < _vs.committed_size(),"bad index"), g1BlockOffsetTable.inline.hpp:55
For heaps larger than 32Gb, the number of heap regions overflows the data type used to hold the region index in the SparsePRT structure. Changed the region indexes, card indexes, and RSet hash table buckets to ints and added some size overflow guarantees.

Reviewed-by: ysr, tonyp
2009-06-11 17:19:33 -07:00
Igor Veresov
307bb62ca5 6849122: G1: Typo introduced during implementation of the parallel refinement
Typo fix

Reviewed-by: jcoomes
2009-06-08 16:14:19 -07:00
Y. Srinivas Ramakrishna
9611174798 6848641: CMSCollector::_roots_scanning_options should be initialized
The field is now initialized in the constructor.

Reviewed-by: iveresov, jmasa, johnc
2009-06-07 00:27:41 -07:00
Andrey Petrusenko
b7eda61fb6 6819065: G1: eliminate high serial card table clearing time
Reviewed-by: iveresov, tonyp
2009-05-19 04:05:31 -07:00
Igor Veresov
4f6c7e4a14 6841831: G1: assert(contains_reference(from),"We just added it!") fires
During parallel rset updating we have to make sure that the worker ids of the refinement threads do not intersect with the worker ids that can be claimed by the mutator threads.

Reviewed-by: tonyp
2009-05-18 11:52:46 -07:00
Igor Veresov
8c764e214c 6484957: G1: parallel concurrent refinement
6826318: G1: remove traversal-based refinement code

Removed traversal-based refinement code as it's no longer used. Made the concurrent refinement (queue-based) parallel.

Reviewed-by: tonyp
2009-05-11 16:30:56 -07:00
John Cuthbertson
92afe130d1 6833576: G1: assert illegal index, growableArray.hpp:186
The code that calculates the heap region index for an object address incorrectly used signed arithmetic.

Reviewed-by: jcoomes, ysr
2009-05-05 22:15:35 -07:00
John Cuthbertson
55750920b4 6490395: G1: Tidy up command line flags
Change G1 flag names to be more consistent and disable some in 'product' mode.

Reviewed-by: tonyp, iveresov
2009-04-30 15:07:53 -07:00
Igor Veresov
db68fa7326 6819098: G1: reduce RSet scanning times
Added a feedback-driven exponential skipping for parallel RSet scanning.

Reviewed-by: tonyp, apetrusenko
2009-04-27 16:52:18 -07:00
Antonios Printezis
c2578847e2 6829013: G1: set the default value of G1VerifyConcMarkPrintRechable to false
Turn off G1VerifyConcMarkPrintReachable by default to minimize the amount of verbose output we generate by default.

Reviewed-by: jmasa
2009-04-23 16:58:16 -04:00
Y. Srinivas Ramakrishna
e1b2c1c442 Merge 2009-04-03 15:59:19 -07:00
Andrey Petrusenko
a8f9284064 Merge 2009-04-02 05:22:02 -07:00
Vladimir Kozlov
aee9449305 Merge 2009-03-31 10:02:01 -07:00
Y. Srinivas Ramakrishna
137a679446 6819891: ParNew: Fix work queue overflow code to deal correctly with +UseCompressedOops
When using compressed oops, rather than chaining the overflowed grey objects' pre-images through their klass words, we use GC-worker thread-local overflow stacks.

Reviewed-by: jcoomes, jmasa
2009-03-28 15:47:29 -07:00
Igor Veresov
74e0691df5 6822263: G1: JVMTI heap iteration fails
Make object_iterate() traverse the perm gen

Reviewed-by: apetrusenko, tonyp
2009-03-26 08:51:32 -07:00
Andrey Petrusenko
cf2ae8d98d 6543938: G1: remove the concept of popularity
Reviewed-by: iveresov, tonyp
2009-03-25 13:10:54 -07:00
Antonios Printezis
cb822b7e10 Merge 2009-03-25 10:36:08 -04:00
Antonios Printezis
d5e5e5a3d1 6820321: G1: Error: guarantee(check_nums(total, n, parts), "all seq lengths should match")
Small fixes to sort out some verbosegc-related incorrectness and a failure

Reviewed-by: apetrusenko
2009-03-21 22:53:04 -04:00
John R Rose
cfb08c72ba 6814659: separable cleanups and subroutines for 6655638
Preparatory but separable changes for method handles

Reviewed-by: kvn, never
2009-03-20 23:19:36 -07:00
Vladimir Kozlov
41463d1d3a Merge 2009-03-19 09:13:24 -07:00
Antonios Printezis
f8c3115e4e Merge 2009-03-18 11:37:48 -04:00
Igor Veresov
736e8a2d4b 6815683: G1: SEGV during marking
We should mark the regions that continue humongous regions as live if the first region is live.

Reviewed-by: tonyp
2009-03-16 17:48:01 -07:00
Vladimir Kozlov
f210928e73 6816308: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
Allow Hotspot builds with latest Windows SDK 6.1 on 64bit Windows 2003

Reviewed-by: ohair, tbell, jcoomes
2009-03-16 15:06:33 -07:00
Antonios Printezis
217739210d 6816154: G1: introduce flags to enable/disable RSet updating and scanning
Introduces two flags, -XX:-/+G1EnableParallelRSetUpdating and -XX:-/+G1EnableParallelRSetScanning, to turn on/off the "band aid" fix that serializes RSet updating / scanning during GCs.

Reviewed-by: iveresov
2009-03-16 10:52:44 -04:00
Igor Veresov
82619cc8da 6817419: G1: Enable extensive verification for humongous regions
Enabled full verification for humongous regions. Also made sure that the VerifyAfterGC works with deferred updates and G1HRRSFlushLogBuffersOnVerify.

Reviewed-by: tonyp
2009-03-16 08:01:32 -07:00