1045 Commits

Author SHA1 Message Date
Antonios Printezis
8a125d9913 6880903: G1: G1 reports incorrect Runtime.maxMemory()
G1 reports committed memory instead of reserved memory from the Runtime.maxMemory() method

Reviewed-by: ysr, jmasa
2009-12-04 07:44:35 -05:00
John Cuthbertson
5a239d996b 6899058: G1: Internal error in ptrQueue.cpp:201 in nightly tests
Fixes a race on the dirty card queue completed buffer list between worker thread(s) performing a flush of a deferred store barrier (enqueueing a newly completed buffer) and worker thread(s) in the RSet updating code claiming completed buffers. Removed the routine that removes elements from the completed update buffer queue using a CAS.

Reviewed-by: ysr, tonyp
2009-11-24 15:19:30 -08:00
Antonios Printezis
9cf0c891d9 6815790: G1: Missing MemoryPoolMXBeans with -XX:+UseG1GC
It introduces the necessary memory pools for G1.

Reviewed-by: mchung, ysr
2009-11-20 14:47:01 -05:00
Y. Srinivas Ramakrishna
b5af9f3408 6902303: G1: ScavengeALot should cause an incremental, rather than a full, collection
ScavengeALot now causes an incremental (but possibly partially young, in the G1 sense) collection. Some such collections may be abandoned on account of MMU specs. Band-aided a native leak associated with abandoned pauses, as well as an MMU tracker overflow related to frequent scavenge events in the face of a large MMU denominator interval; the latter is protected by a product flag that defaults to false.

Reviewed-by: tonyp
2009-11-19 13:43:25 -08:00
Y. Srinivas Ramakrishna
c54bb4236d 6902701: G1: protect debugging code related to 6898948 with a debug flag
Protected stats dump with a new develop flag; other than for the dump, reconciled product and non-product behaviour in face of the error.

Reviewed-by: tonyp
2009-11-19 10:19:19 -08:00
Y. Srinivas Ramakrishna
241f0f0cd8 6898948: G1: forensic instrumentation for out-of-bounds recent_avg_pause_time_ratio()
Added instrumentation and (temporary) assert in non-product mode; clipped the value when found out-of-bounds in product mode. Fix of original issue will follow collection of data from this instrumentation.

Reviewed-by: jcoomes, tonyp
2009-11-13 11:55:26 -08:00
Jon Masamitsu
bedf908436 6898857: [Regression] -XX:NewRatio with -XX:+UseConcMarkSweepGC causes fatal error
Use CollectorPolicy information instead of MaxNewSize

Reviewed-by: ysr, jcoomes
2009-11-10 11:32:48 -08:00
John Cuthbertson
f473d94b9c 6895788: G1: SATB and update buffer allocation code allocates too much space
The type in the NEW_C_HEAP_ARRRY and FREE_C_HEAP_ARRAY calls in the buffer allocation code was changed from void* to char as the size argument had already been mulitipled by the byte size of an object pointer.

Reviewed-by: ysr, tonyp
2009-11-06 11:10:05 -08:00
Xiaobin Lu
f5e722511a Merge 2009-10-30 17:24:14 -07:00
Paul Hohensee
2f7d60fa36 6887571: Increase default heap config sizes
Apply modification of existing server heap size ergo to all collectors except CMS.

Reviewed-by: jmasa, ysr, xlu
2009-10-28 16:25:51 -04:00
Andrey Petrusenko
79580cb425 6870843: G1: G1 GC memory leak
The fix addresses two memory leaks in G1 code: (1) _evac_failure_scan_stack - a resource object allocated on the C heap was not freed; (2) RSHashTable were linked into deleted list which was only cleared at full GC.

Reviewed-by: tonyp, iveresov
2009-10-27 02:42:24 -07:00
Andrey Petrusenko
da1b89b746 6858886: G1: guarantee(_next_marked_bytes <= used(),"invariant") at heapRegion.hpp:359
Reviewed-by: tonyp, ysr
2009-10-22 07:43:49 -07:00
Antonios Printezis
e57cedc5ed Merge 2009-10-20 11:28:25 -07:00
Antonios Printezis
9f337f438a Merge 2009-10-19 17:02:19 -04:00
Y. Srinivas Ramakrishna
928ac69fcd 6888898: CMS: ReduceInitialCardMarks unsafe in the presence of cms precleaning
6889757: G1: enable card mark elision for initializing writes from compiled code (ReduceInitialCardMarks)

Defer the (compiler-elided) card-mark upon a slow-path allocation until after the store  and before the next subsequent safepoint; G1 now answers yes to can_elide_tlab_write_barriers().

Reviewed-by: jcoomes, kvn, never
2009-10-16 02:05:46 -07:00
John Coomes
7e76feaf42 6888953: some calls to function-like macros are missing semicolons
Reviewed-by: pbk, kvn
2009-10-11 16:19:25 -07:00
Erik Trimble
8cea3ed3b4 Merge 2009-10-09 15:18:52 -07:00
Antonios Printezis
9288a18639 6888619: G1: too many guarantees in concurrent marking
Change more guarantees in concurrent marking into asserts.

Reviewed-by: apetrusenko, iveresov
2009-10-07 10:09:57 -04:00
Antonios Printezis
0835f0c4df 6888316: G1: has_aborted() || _cm->region_stack_empty() fails
Remove incorrect guarantee.

Reviewed-by: apetrusenko, iveresov
2009-10-07 09:42:18 -04:00
Antonios Printezis
31de6adee9 6847956: G1: crash in oopDesc*G1ParCopyHelper::copy_to_survivor_space(oopDesc*)
When we copy objects to survivors during marking, we incorrectly set NTAMS to bottom, which causes marking to miss visiting some of those objects.

Reviewed-by: apetrusenko, iveresov
2009-10-05 12:05:48 -04:00
Antonios Printezis
2684c3a431 6882730: G1: parallel heap verification messes up region dump
It tidies up the G1 heap verification a bit. In particular, when the verification is done in parallel and there is a failure, this is propagated to the top level and the heap is dumped at the end, not by every thread that encounters a failure.

Reviewed-by: johnc, jmasa
2009-10-02 16:20:42 -04:00
Antonios Printezis
99a529bb86 6885041: G1: inconsistent thread dump
When G1 is enabled, thread dumps are inconsistent as the info for some of the G1 threads is not formatted properly.

Reviewed-by: ysr, johnc
2009-10-02 16:12:07 -04:00
John R Rose
f34acd6601 Merge 2009-09-30 13:25:39 -07:00
Antonios Printezis
2c2a8ae8b1 6890137: G1: revamp reachable object dump
Revamp the reachable object dump debugging facility.

Reviewed-by: jmasa, apetrusenko
2009-09-30 14:50:51 -04:00
Antonios Printezis
7c9b6d8d16 6886024: G1: assert(recent_avg_pause_time_ratio() < 1.00,"All GC?")
The assert is incorrect and can fire incorrectly due to floating point inaccuracy.

Reviewed-by: apetrusenko, ysr, jcoomes
2009-10-23 14:34:27 -04:00
Erik Trimble
652ccb8d21 Merge 2009-09-25 12:17:06 -07:00
John R Rose
eb73cf4739 6885169: merge of 4957990 and 6863023 causes conflict on do_nmethods
After mechanically merging changes, some by-hand adjustments are needed.

Reviewed-by: ysr
2009-09-23 23:57:44 -07:00
John R Rose
40d52710f6 Merge 2009-09-23 23:56:15 -07:00
Andrew John Hughes
a6a41760f1 6884552: remove some unnecessary #ifdef's introduced in the fix for 4957990
Removed the unnecessary #ifdef's which were interfering with the build of the Zero-assembler port

Reviewed-by: ysr, jcoomes
2009-09-23 11:36:06 -07:00
Xiomara Jayasena
15f08eb80e 6884624: Update copyright year
Update copyright for files that have been modified in 2009 through Septermber

Reviewed-by: tbell, ohair
2009-09-22 14:06:10 -07:00
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