Commit graph

57 commits

Author SHA1 Message Date
Jesper Wilhelmsson
ded8b863dd 8042298: Remove the names gen0 and gen1 from the GC code
Renamed gen0 and gen1 to young and old throughout the GC code.

Reviewed-by: sjohanss, jcoomes
2014-05-02 02:11:34 +02:00
Jesper Wilhelmsson
47c9e23d81 8026396: Remove information duplication in the collector policy
Cleaned up the usage of flags in collector policy.

Reviewed-by: sjohanss, jcoomes
2014-04-30 02:41:00 +02:00
David Chase
305ec3bd3f 8037816: Fix for 8036122 breaks build with Xcode5/clang
Repaired or selectively disabled offending formats; future-proofed with additional checking

Reviewed-by: kvn, jrose, stefank
2014-05-09 16:50:54 -04:00
Jesper Wilhelmsson
0346ae4c9d 8027643: Merge GenCollectorPolicy and TwoGenerationCollectorPolicy
Merged the two calsses GenCollectorPolicy and TwoGenerationCollectorPolicy

Reviewed-by: sjohanss, jcoomes
2014-04-29 22:57:19 +02:00
Stefan Johansson
1ed5b22d6e 8029186: regression-hotspot nightly failure: assert(FLAG_IS_DEFAULT(MaxNewSize) || MaxNewSize < MaxHeapSize) failed
Cleaned up the collector policy and added more asserts to enforce that the heap is correctly setup.

Reviewed-by: jwilhelm, jmasa
2014-03-19 17:08:03 +01:00
Stefan Johansson
90d8f00199 8035057: NewSize ergonomics wrong when setting small or unaligned size on command line
Making sure that if NewSize is set on the command line it should be used for both min and initial size even if it is re-aligned.

Reviewed-by: jwilhelm, jmasa
2014-02-21 09:48:52 +01:00
Stefan Johansson
05e4dd3c74 8033426: Scale initial NewSize using NewRatio if not set on command line
Now using NewRatio to size initial NewSize if not specified on commandline.

Reviewed-by: jmasa, jwilhelm
2014-02-05 11:05:13 +01:00
Jesper Wilhelmsson
81ba2e32c0 8025856: Fix typos in the GC code
Fix about 440 typos in comments in the VM code

Reviewed-by: mgerdin, tschatzl, coleenp, kmo, jcoomes
2014-01-23 14:47:23 +01:00
Erik Helin
ba54cfdf88 8031776: Remove the unnecessary enum GenRemSet::Name
Reviewed-by: stefank, tschatzl, jwilhelm
2014-01-20 17:15:55 +01:00
Jesper Wilhelmsson
c6da83319b 8028093: Initial young size is smaller than minimum young size
Remove min_gen1_size argument from adjust_gen0_sizes()

Reviewed-by: tschatzl, brutisso
2013-11-11 13:50:10 +01:00
Jesper Wilhelmsson
2ec0e87f43 8027911: Assertion in the collector policy when running gc/arguments/TestMaxNewSize.java
Update NewSize when _initial_gen0_size is changed

Reviewed-by: tschatzl, brutisso
2013-11-10 00:07:29 +01:00
Jesper Wilhelmsson
0fa3a71c8a 8016309: assert(eden_size > 0 && survivor_size > 0) failed: just checking
7057939: jmap shows MaxNewSize=4GB when Java is using parallel collector

Major cleanup of the collectorpolicy classes

Reviewed-by: tschatzl, jcoomes
2013-11-01 17:09:38 +01:00
Jesper Wilhelmsson
9705a6e3f9 8026853: Prepare GC code for collector policy regression fix
Cleanup related to the NewSize and MaxNewSize bugs

Reviewed-by: tschatzl, jcoomes, ehelin
2013-10-21 18:56:20 +02:00
Jesper Wilhelmsson
5976b6915a 8026852: Use restricted_align_down in collector policy code
Moved restricted_align_down to globalDefinitions and renamed it align_size_down_bounded

Reviewed-by: stefank, mgerdin, tschatzl
2013-10-21 18:52:13 +02:00
Jesper Wilhelmsson
1123a5596c 8026851: Remove unnecessary code in GenRemSet
Removed the GenRemSet::rem_set_name() since we only have one remset.

Reviewed-by: stefank, mgerdin, tschatzl
2013-10-21 18:51:37 +02:00
Stefan Karlsson
55cbe80300 8024547: MaxMetaspaceSize should limit the committed memory used by the metaspaces
Reviewed-by: brutisso, jmasa, coleenp
2013-10-07 15:51:08 +02:00
Jesper Wilhelmsson
829ad9332b 8025854: Use "young gen" instead of "eden"
Changed a few descriptions and variable names to young gen.

Reviewed-by: tschatzl, jcoomes
2013-10-04 22:08:37 +02:00
Jesper Wilhelmsson
582aa55e4d 8025852: Remove unnecessary setters in collector policy classes
Use instance variables directly within the collector policy classes and remove unused setters.

Reviewed-by: tschatzl, jcoomes
2013-10-03 21:36:29 +02:00
Jesper Wilhelmsson
ed022aded1 8025855: Simplify GenRemSet code slightly
Remove a few redundant switch-statements

Reviewed-by: jcoomes, tschatzl
2013-10-03 13:19:19 +02:00
Erik Helin
ce8f16808b 8025313: MetaspaceMemoryPool incorrectly reports undefined size for max
Reviewed-by: stefank, tschatzl
2013-10-01 15:21:14 +02:00
Stefan Karlsson
860b5dcec7 8024650: Don't adjust MaxMetaspaceSize up to MetaspaceSize
Reviewed-by: jwilhelm, brutisso, tschatzl
2013-09-13 22:22:14 +02:00
Thomas Schatzl
962008f22b 8010722: assert: failed: heap size is too big for compressed oops
Use conservative assumptions of required alignment for the various garbage collector components into account when determining the maximum heap size that supports compressed oops. Using this conservative value avoids several circular dependencies in the calculation.

Reviewed-by: stefank, dholmes
2013-09-11 16:25:02 +02:00
Stefan Karlsson
7ade7987a0 8007074: SIGSEGV at ParMarkBitMap::verify_clear()
Replace the broken large pages implementation on Linux. New flag: -XX:+UseTransparentHugePages - Linux specific flag to turn on transparent huge page hinting with madvise(..., MAP_HUGETLB). Changed behavior: -XX:+UseLargePages - tries to use -XX:+UseTransparentHugePages before trying other large pages implementations (on Linux). Changed behavior: -XX:+UseHugeTLBFS - Use upfront allocation of Large Pages instead of using the broken implementation to dynamically committing large pages. Changed behavior: -XX:LargePageSizeInBytes - Turned off the ability to use this flag on Linux and provides warning to user if set to a value different than the OS chosen large page size. Changed behavior: Setting no large page size - Now defaults to use -XX:UseTransparentHugePages if the OS supports it. Previously, -XX:+UseHugeTLBFS was chosen if the OS was configured to use large pages.

Reviewed-by: tschatzl, dcubed, brutisso
2013-08-16 13:22:32 +02:00
Jesper Wilhelmsson
262b1413c1 Merge 2013-05-17 06:01:10 +02:00
Thomas Schatzl
8d53e75550 6843347: Boundary values in some public GC options cause crashes
Setting some public integer options to specific values causes crashes or undefined GC behavior. This patchset adds the necessary argument checking for these options.

Reviewed-by: jmasa, brutisso
2013-05-15 11:05:09 +02:00
Yumin Qi
98151c30c8 8012902: remove use of global operator new - take 2
The fix of 8010992, disable use of global operator new and new[] which caused failure on some tests. This takes two of the bugs also add ALLOW_OPERATOR_NEW_USAGE to prevent crash for third party code calling operator new of jvm on certain platforms.

Reviewed-by: coleenp, dholmes, zgu
2013-05-14 09:41:12 -07:00
Thomas Schatzl
9cfde1acc3 8014058: Regression tests for 8006088
The patch for 8006088 misses regression tests after a merge error, this CR provides them.

Reviewed-by: jwilhelm, tamao, jmasa
2013-05-13 09:45:33 +02:00
Thomas Schatzl
9b9b515fb8 8006088: Incompatible heap size flags accepted by VM
Make processing of minimum, initial and maximum heap size more intiutive by removing previous limitations on allowed values, and make error reporting consistent. Further, fix errors in ergonomic heap sizing.

Reviewed-by: johnc, jwilhelm, tamao
2013-05-06 17:19:42 +02:00
Bengt Rutisson
36c195270d 8013791: G1: G1CollectorPolicy::initialize_flags() may set min_alignment > max_alignment
Make sure max alignemnt is at least as large as min alignment

Reviewed-by: johnc, jmasa, tschatzl
2013-05-06 09:16:14 +02:00
Mikael Gerdin
89120e7827 7014552: gc/lock/jni/jnilockXXX works too slow on 1-processor machine
Keep a counter of how many times we were stalled by the GC locker, add a diagnostic flag which sets the limit.

Reviewed-by: brutisso, ehelin, johnc
2013-03-28 10:27:28 +01:00
Jon Masamitsu
79c091f287 6976528: PS: assert(!limit_exceeded || softrefs_clear) failed: Should have been cleared
Reviewed-by: johnc
2013-03-12 11:00:49 -07:00
Tao Mao
95bd43cd0a 8007764: Wrong initialized value of max_gc_pause_sec for an instance of class AdaptiveSizePolicy
This is a fix of an initialization mistake for class AdaptiveSizePolicy.

Reviewed-by: jmasa
2013-02-14 14:43:01 -08:00
Bengt Rutisson
8cf98587f7 Merge 2013-02-08 10:08:40 +01:00
Jesper Wilhelmsson
2447f369f6 6348447: Specifying -XX:OldSize crashes 64-bit VMs
Heap size will be set to allow for OldSize to fit. Also reviewed by vitalyd@gmail.com

Reviewed-by: ehelin, jmasa
2013-01-28 15:41:45 +01:00
Joseph Provino
698fba94ef 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.

Reviewed-by: coleenp, stefank
2013-01-23 13:02:39 -05:00
Bengt Rutisson
53cdde9124 8005396: Use ParNew with only one thread instead of DefNew as default for CMS on single CPU machines
Reviewed-by: jmasa, jcoomes
2012-12-30 08:47:52 +01:00
Jon Masamitsu
e8b3b89264 8005082: NPG: Add specialized Metachunk sizes for reflection and anonymous classloaders
Reviewed-by: johnc, coleenp
2012-12-03 15:09:39 -08:00
Stefan Karlsson
57204d9f34 8003935: Simplify the needed includes for using Thread::current()
Reviewed-by: dholmes, rbackman, coleenp
2012-11-27 14:20:21 +01:00
Jon Masamitsu
badb2a2af8 8000988: VM deadlock when running btree006 on windows-i586
Reviewed-by: johnc, jcoomes, ysr
2012-10-30 10:23:55 -07:00
Jon Masamitsu
cf5f4f736f 7197557: NPG: nsk/sysdict/vm/stress/chain/chain004 hangs intermittently
Reviewed-by: johnc, ysr
2012-09-18 14:15:06 -07:00
Jon Masamitsu
5c58d27aac 6964458: Reimplement class meta-data storage to use native memory
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
2012-09-01 13:25:18 -04:00
Kurt Miller
95c56a472b 7089790: integrate bsd-port changes
Co-authored-by: Greg Lewis <glewis@eyesbeyond.com>
Co-authored-by: Jung-uk Kim <jkim@freebsd.org>
Co-authored-by: Christos Zoulas <christos@zoulas.com>
Co-authored-by: Landon Fuller <landonf@plausible.coop>
Co-authored-by: The FreeBSD Foundation <board@freebsdfoundation.org>
Co-authored-by: Michael Franz <mvfranz@gmail.com>
Co-authored-by: Roger Hoover <rhoover@apple.com>
Co-authored-by: Alexander Strange <astrange@apple.com>
Reviewed-by: kvn, twisti, jrose
2011-09-25 16:03:29 -07:00
Antonios Printezis
937d6ded89 6994322: Remove the is_tlab and is_noref / is_large_noref parameters from the CollectedHeap
Remove two unused parameters from the mem_allocate() method and update its uses accordingly.

Reviewed-by: stefank, johnc
2011-06-16 15:51:57 -04:00
Bengt Rutisson
fbffd24fc5 7040068: CMS: Possibly unsafe initialization of BlockOffsetArrayUseUnallocatedBlock
BlockOffsetArrayUseUnallocatedBlock was intended to be turned off as part of BUG 6948538 but a code line in collectorPolicy.cpp actually kept it turned on.

Reviewed-by: jwilhelm, ysr
2011-04-29 09:11:03 +02:00
Y. Srinivas Ramakrishna
7293fabc43 6896099: Integrate CMS heap ergo with default heap sizing ergo
6627787: CMS: JVM refuses to start up with -Xms16m -Xmx16m
7000125: CMS: Anti-monotone young gen sizing with respect to maximum whole heap size specification
7027529: CMS: retire CMSUseOldDefaults flag

Simplify CMS heap sizing code, relying on ergonomic initial sizing consistent with other collectors for the most part, controlling only young gen sizing to rein in pause times. Make CMS young gen sizing default statically cpu-dependant. Remove inconsistencies wrt generation sizing and policy code, allowing for the fixing for 6627787 and 7000125. For 7027529, retire the flag CMSUseOldDefaults which had been introduced as a bridge from JDK 5 to JDK 6 a number of years ago.

Reviewed-by: brutisso, poonam
2011-03-16 10:37:08 -07:00
Y. Srinivas Ramakrishna
544b475fc5 7001033: assert(gch->gc_cause() == GCCause::_scavenge_alot || !gch->incremental_collection_failed())
7002546: regression on SpecJbb2005 on 7b118 comparing to 7b117 on small heaps

Relaxed assertion checking related to incremental_collection_failed flag to allow for ExplicitGCInvokesConcurrent behaviour where we do not want a failing scavenge to bail to a stop-world collection. Parameterized incremental_collection_will_fail() so we can selectively use, or not use, as appropriate, the statistical prediction at specific use sites. This essentially reverts the scavenge bail-out logic to what it was prior to some recent changes that had inadvertently started using the statistical prediction which can be noisy in the presence of bursty loads. Added some associated verbose non-product debugging messages.

Reviewed-by: johnc, tonyp
2010-12-07 21:55:53 -08: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
Y. Srinivas Ramakrishna
cbc7f8756a 6896603: CMS/GCH: collection_attempt_is_safe() ergo should use more recent data
Deprecated HandlePromotionFailure, removing the ability to turn off that feature, did away with one epoch look-ahead when deciding if a scavenge is likely to fail, relying on current data.

Reviewed-by: jmasa, johnc, poonam
2010-10-23 23:03:49 -07:00
Vladimir Kozlov
7df5e956d1 6984368: Large default heap size does not allow to use zero based compressed oops
Take into account HeapBaseMinAddress and round down MaxPermSize

Reviewed-by: never
2010-09-14 17:19:35 -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