67 Commits

Author SHA1 Message Date
John Cuthbertson
defec7ae16 Merge 2012-11-29 11:23:15 -08:00
Coleen Phillimore
6538c5134b 8003635: NPG: AsynchGetCallTrace broken by Method* virtual call
Make metaspace::contains be lock free and used to see if something is in metaspace, also compare Method* with vtbl pointer.

Reviewed-by: dholmes, sspitsyn, dcubed, jmasa
2012-11-28 17:50:21 -05: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
Coleen Phillimore
12b9a4edbb 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
Simple renaming to be consistent with instanceKlass->InstanceKlass renaming

Reviewed-by: stefank, jmasa
2012-09-07 12:04:16 -04: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
Zhengyu Gu
a39b17624a 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking

Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd

Reviewed-by: acorn, coleenp, fparain
2012-06-28 17:03:16 -04:00
Bengt Rutisson
eba9965d54 7166894: Add gc cause to GC logging for all collectors
Reviewed-by: mgerdin, johnc
2012-05-15 10:25:06 +02:00
Bengt Rutisson
f695b75d78 4988100: oop_verify_old_oop appears to be dead
Removed oop_verify_old_oop and allow_dirty. Also reviewed by: alexlamsl@gmail.com

Reviewed-by: jmasa, jwilhelm
2012-04-16 08:57:18 +02:00
Bengt Rutisson
a6d84bc811 7156764: Remove unused size parameter from some CollectedHeap methods
Some minor cleanups

Reviewed-by: tonyp, jwilhelm
2012-03-27 10:29:59 +02:00
Bengt Rutisson
efa036748b 7103665: HeapWord*ParallelScavengeHeap::failed_mem_allocate(unsigned long,bool)+0x97
Make sure that MutableNUMASpace::ensure_parsability() only calls CollectedHeap::fill_with_object() with valid sizes and make sure CollectedHeap::filler_array_max_size() returns a value that can be converted to an int without overflow

Reviewed-by: azeemj, jmasa, iveresov
2012-03-23 15:28:24 +01:00
Tom Rodriguez
520f6fcc87 7145537: minor tweaks to LogEvents
Reviewed-by: kvn, twisti
2012-02-15 10:12:55 -08:00
John Coomes
140e8ff0d9 Merge 2012-02-03 12:08:55 -08:00
Tom Rodriguez
5a41427b37 7141200: log some interesting information in ring buffers for crashes
Reviewed-by: kvn, jrose, kevinw, brutisso, twisti, jmasa
2012-02-01 07:59:01 -08:00
Bengt Rutisson
c11ba93098 6976060: G1: humongous object allocations should initiate marking cycles when necessary
Reviewed-by: tonyp, johnc
2012-01-16 22:10:05 +01:00
Stefan Karlsson
e0ae7fac7c 7125503: Compiling collectedHeap.cpp fails with -Werror=int-to-pointer-cast with g++ 4.6.1
Used uintptr_t and void* for all the casts and checks in test_is_in.

Reviewed-by: tonyp, jmasa
2012-01-02 10:01:46 +01:00
Jon Masamitsu
0ebc10bb13 7121618: Change type of number of GC workers to unsigned int
Change variables representing the number of GC workers to uint from int and size_t.  Change the parameter in work(int i) to work(uint worker_id).

Reviewed-by: brutisso, tonyp
2011-12-14 13:34:57 -08:00
Stefan Karlsson
a3943834e1 7121373: Clean up CollectedHeap::is_in
Fixed G1CollectedHeap::is_in, added tests, cleaned up comments and made Space::is_in pure virtual.

Reviewed-by: brutisso, tonyp, jcoomes
2011-12-14 12:15:26 +01:00
Bengt Rutisson
911637a272 7110190: GCCause::to_string missing case for _adaptive_size_policy
Added case for _adaptive_size_policy

Reviewed-by: johnc, ysr
2011-11-09 23:21:00 +01:00
Antonios Printezis
44b419af51 7099849: G1: include heap region information in hs_err files
Reviewed-by: johnc, brutisso, poonam
2011-11-08 00:41:28 -05:00
Tom Rodriguez
bf203dac41 7098528: crash with java -XX:+ExtendedDTraceProbes
Reviewed-by: kvn
2011-10-17 21:38:29 -07:00
Vladimir Kozlov
47e357e16f 7081933: Use zeroing elimination optimization for large array
Don't zero new typeArray during runtime call if the allocation is followed by arraycopy into it.

Reviewed-by: twisti
2011-09-26 10:24:05 -07: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
Igor Veresov
315ec64dce Merge 2011-09-07 11:52:00 -07:00
Vladimir Kozlov
6446205688 7059037: Use BIS for zeroing on T4
Use BIS for zeroing new allocated big (2Kb and more) objects and arrays.

Reviewed-by: never, twisti, ysr
2011-08-26 08:52:22 -07:00
Y. Srinivas Ramakrishna
3af2ea16d6 6810861: G1: support -XX:+{PrintClassHistogram,HeapDump}{Before,After}FullGC
Call {pre,post}_full_gc_dump() before and after a STW full gc of G1CollectedHeap. Also adjusted the prefix message, including the addition of missing whitespace.

Reviewed-by: brutisso, tonyp
2011-08-22 12:30:06 -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
John Cuthbertson
b94d0b830c 7004681: G1: Extend marking verification to Full GCs
Perform a heap verification after the first phase of G1's full GC using objects' mark words to determine liveness. The third parameter of the heap verification routines, which was used in G1 to determine which marking bitmap to use in liveness calculations, has been changed from a boolean to an enum with values defined for using the mark word, and the 'prev' and 'next' bitmaps.

Reviewed-by: tonyp, ysr
2011-06-14 11:01:10 -07:00
Jon Masamitsu
6819e3739e 7041789: 30% perf regression with c2/arm following 7017732
Implement a more accurate is_scavengable()

Reviewed-by: stefank, jcoomes, ysr
2011-05-03 10:30:34 -07:00
Erik Trimble
c9e484d473 7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass
Update the copyright to be 2010 on all changed files in OpenJDK

Reviewed-by: ohair
2011-04-05 14:12:31 -07:00
Y. Srinivas Ramakrishna
7eccb460db 6912621: iCMS: Error: assert(_markBitMap.isMarked(addr + 1),"Missing Printezis bit?")
Fix block_size_if_printezis_bits() so it does not expect the bits, only uses them when available. Fix block_size_no_stall() so it does not stall when the bits are missing such cases, letting the caller deal with zero size returns. Constant pool cache oops do not need to be unparsable or conc_unsafe after their klass pointer is installed. Some cosmetic clean-ups and some assertion checking for conc-usafety which, in the presence of class file redefinition, has no a-priori time boundedness, so all GCs must be able to safely deal with putatively conc-unsafe objects in a stop-world pause.

Reviewed-by: jmasa, johnc
2011-02-07 22:19:57 -08:00
Yasumasa Suenaga
60418bbde3 7015169: GC Cause not always set
Sometimes the gc cause was not always set. This caused JStat to print the wrong information.

Reviewed-by: tonyp, ysr
2011-02-03 20:49:09 -08:00
Paul Hohensee
7b0134a7cb 7003271: Hotspot should track cumulative Java heap bytes allocated on a per-thread basis
Track allocated bytes in Thread's, update on TLAB retirement and direct allocation in Eden and tenured, add JNI methods for ThreadMXBean.

Reviewed-by: coleenp, kvn, dholmes, ysr
2011-01-07 10:42:32 -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
Jon Masamitsu
28e56b8970 6984287: Regularize how GC parallel workers are specified
Associate number of GC workers with the workgang as opposed to the task.

Reviewed-by: johnc, ysr
2010-09-20 14:38:38 -07:00
Antonios Printezis
dfc84e8c89 6944166: G1: explicit GCs are not always handled correctly
G1 was not handling explicit GCs correctly in many ways. It does now. See the CR for the list of improvements contained in this changeset.

Reviewed-by: iveresov, ysr, johnc
2010-06-28 14:13:17 -04:00
John R Rose
d6a9b93b5a Merge 2010-06-02 22:45:42 -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
Vladimir Kozlov
cc18a50e59 6916623: Align object to 16 bytes to use Compressed Oops with java heap up to 64Gb
Added new product ObjectAlignmentInBytes flag to control object alignment.

Reviewed-by: twisti, ysr, iveresov
2010-05-27 18:01:56 -07:00
Y. Srinivas Ramakrishna
ed25c962e1 6953952: collectedHeap.cpp should use #ifdef _LP64 not LP64
Changed LP64 to _LP64 in collectedHeap.cpp.

Reviewed-by: kvn, jcoomes
2010-05-19 16:05:47 -07:00
Y. Srinivas Ramakrishna
51c1f35548 6953483: Typo related to ReduceInitialCardMarks leaves concurrent collectors vulnerable to heap corruption
Corrected mis-spelling of COMPILER2 in #ifdef, which could cause heap corruption in CMS due to precleaning when +ReduceInitialCardMarks. Thanks to ChenGuang Sun <suncg03@gmail.com> for bringing this typo to our attention.

Reviewed-by: tonyp, jmasa, jcoomes, kvn
2010-05-19 10:37:05 -07:00
Jon Masamitsu
f5197d0d36 6858496: Clear all SoftReferences before an out-of-memory due to GC overhead limit
Ensure a full GC that clears SoftReferences before throwing an out-of-memory

Reviewed-by: ysr, jcoomes
2010-04-13 13:52:10 -07:00
Y. Srinivas Ramakrishna
342a620a7f 6920090: G1: Disable ReduceInitialCardMarks at least until 6920109 is fixed
G1 now answers "no" to the query can_elide_initializing_store_barrier() in the product build. A debug flag allows alternate behaviour in debug builds.

Reviewed-by: iveresov, tonyp
2010-01-26 16:52:29 -08:00
Y. Srinivas Ramakrishna
331512606a 6896647: card marks can be deferred too long
Deferred card marks are now flushed during the gc prologue. Parallel[Scavege,OldGC] and SerialGC no longer defer card marks generated by COMPILER2 as a result of ReduceInitialCardMarks. For these cases, introduced a diagnostic option to defer the card marks, only for the purposes of testing and diagnostics. CMS and G1 continue to defer card marks. Potential performance concern related to single-threaded flushing of deferred card marks in the gc prologue will be addressed in the future.

Reviewed-by: never, johnc
2010-01-13 15:26:39 -08:00
John Cuthbertson
0917ad432e 6902115: G1:assert(ignore_max_completed||thread->is_Java_thread()||SafepointSynchronize::is_at_safepoint())
Remove invalid assert and mangle filler objects in TLABs that are being retired.

Reviewed-by: ysr, jmasa
2010-01-12 14:56:46 -08:00
Tom Rodriguez
98449cf2c2 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
2010-01-06 14:22:39 -08: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 R Rose
40d52710f6 Merge 2009-09-23 23:56:15 -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
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
Erik Trimble
e846382e12 Merge 2009-07-29 16:00:35 -07:00