28 Commits

Author SHA1 Message Date
Antonios Printezis
5f21cb1b9b 7007068: G1: refine the BOT during evac failure handling
During evacuation failure handling we refine the BOT to reflect the location of all the objects in the regions we scan. The changeset includes some minor cleanup: a) non-product print_on() method on the G1 BOT class, b) added more complete BOT verification during heap / region verification, c) slight modification to the BOT set up for humongous regions to be more consistent with the BOT set up during evac failure handling, and d) removed a couple of unused methods.

Reviewed-by: johnc, ysr
2011-01-12 13:06:00 -05:00
Stefan Karlsson
8006fe8f75 6989984: Use standard include model for Hospot
Replaced MakeDeps and the includeDB files with more standardized solutions.

Reviewed-by: coleenp, kvn, kamg
2010-11-23 13:22:55 -08:00
Antonios Printezis
0c660e1f60 6991377: G1: race between concurrent refinement and humongous object allocation
There is a race between the concurrent refinement threads and the humongous object allocation that can cause the concurrent refinement threads to corrupt the part of the BOT that it is being initialized by the humongous object allocation operation. The solution is to do the humongous object allocation in careful steps to ensure that the concurrent refinement threads always have a consistent view over the BOT, region contents, and top. The fix includes some very minor tidying up in sparsePRT.

Reviewed-by: jcoomes, johnc, ysr
2010-10-16 17:12:19 -04:00
Antonios Printezis
7125621712 6974928: G1: sometimes humongous objects are allocated in young regions
As the title says, sometimes we are allocating humongous objects in young regions and we shouldn't.

Reviewed-by: ysr, johnc
2010-08-17 14:40:00 -04:00
John Cuthbertson
3a2b2b4fd8 6814437: G1: remove the _new_refs array
The per-worker _new_refs array is used to hold references that point into the collection set. It is populated during RSet updating and subsequently processed. In the event of an evacuation failure it processed again to recreate the RSets of regions in the collection set. Remove the per-worker _new_refs array by processing the references directly. Use a DirtyCardQueue to hold the cards containing the references so that the RSets of regions in the collection set can be recreated when handling an evacuation failure.

Reviewed-by: iveresov, jmasa, tonyp
2010-08-02 12:51:43 -07:00
John Cuthbertson
5c3da1ee7e 6956639: G1: assert(cached_ptr != card_ptr) failed: shouldn't be, concurrentG1Refine.cpp:307
During concurrent refinment, filter cards in young regions after it has been determined that the region has been allocated from and the young type of the region has been set.

Reviewed-by: iveresov, tonyp, jcoomes
2010-07-19 11:06:34 -07:00
Erik Trimble
ba7c173659 6941466: Oracle rebranding changes for Hotspot repositories
Change all the Sun copyrights to Oracle copyright

Reviewed-by: ohair
2010-05-27 19:08:38 -07:00
John Coomes
8a34049f04 Merge 2010-05-20 08:32:11 -07:00
Andrey Petrusenko
0d3978019b 6921317: (partial) G1: assert(top() == bottom() || zfs == Allocated,"Region must be empty, or we must be setting it to
Extended the failing assertion with the new message format to get more data.

Reviewed-by: tonyp
2010-05-14 10:28:46 -07:00
Phil Race
db63a9aa55 6931180: Migration to recent versions of MS Platform SDK
6951582: Build problems on win64

Changes to enable building JDK7 with Microsoft Visual Studio 2010

Reviewed-by: ohair, art, ccheung, dcubed
2010-05-11 14:35:43 -07:00
John Cuthbertson
b1867e0dd5 6819061: G1: eliminate serial Other times that are proportional to the collection set length
6871109: G1: remove the concept of the scan only prefix

Removed scan only regions and associated code. The young portion of the collection set is now constructed incrementally - when a young region is retired as the current allocation region it is added to the collection set.

Reviewed-by: apetrusenko, iveresov, tonyp
2010-04-22 10:02:38 -07:00
Antonios Printezis
9b4fc8fc23 6937142: G1: improvements to debugging output (S-M)
Various fixes to the G1 debugging output.

Reviewed-by: johnc, iveresov
2010-03-30 15:43:03 -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
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
Erik Trimble
e846382e12 Merge 2009-07-29 16:00:35 -07: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
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
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
Andrey Petrusenko
b7eda61fb6 6819065: G1: eliminate high serial card table clearing time
Reviewed-by: iveresov, tonyp
2009-05-19 04:05:31 -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
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
Andrey Petrusenko
cf2ae8d98d 6543938: G1: remove the concept of popularity
Reviewed-by: iveresov, tonyp
2009-03-25 13:10:54 -07:00
Xiomara Jayasena
99f0eac1a2 6785258: Update copyright year
Update copyright for files that have been modified starting July 2008 to Dec 2008

Reviewed-by: katleman, ohair, tbell
2008-12-15 16:55:11 -08:00
Antonios Printezis
615777b6da Merge 2008-08-21 23:36:31 -04:00
Antonios Printezis
e2b3310cb6 6722565: G1: assert !r->is_on_unclean_list() fires
Under certain circumstances, two cleanup threads can claim and process the same region.

Reviewed-by: apetrusenko, ysr
2008-08-06 11:57:31 -04:00
Igor Veresov
2703662478 6723570: G1: assertion failure: p == current_top or oop(p)->is_oop(),"p is not a block start" (revisited!)
Fixed the incorrect assigment to G1OffsetTableContigSpace::_gc_time_stamp. Also added a little more paranoia to operations on a global timestamp.

Reviewed-by: tonyp
2008-07-10 09:29:54 -07:00
Y. Srinivas Ramakrishna
18f3386a98 6711316: Open source the Garbage-First garbage collector
First mercurial integration of the code for the Garbage-First garbage collector.

Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
2008-06-05 15:57:56 -07:00