269 Commits

Author SHA1 Message Date
Tom Rodriguez
9599296d97 7013347: allow crypto functions to be called inline to enhance performance
Reviewed-by: kvn
2012-02-01 16:57:08 -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
Tom Rodriguez
5721fa222a 7129164: JNI Get/ReleasePrimitiveArrayCritical doesn't scale
Reviewed-by: kvn, iveresov, dholmes
2012-01-29 16:46:04 -08:00
Jiangli Zhou
e6157688b4 Merge 2012-01-04 12:36:07 -05: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
John Cuthbertson
870bea622a 7117303: VM uses non-monotonic time source and complains that it is non-monotonic
Replaces calls to os::javaTimeMillis(), which does not (and cannot) guarantee monotonicity, in GC code to an equivalent expression that uses os::javaTimeNanos(). os::javaTimeNanos is guaranteed monotonically non-decreasing if the underlying platform provides a monotonic time source. Changes in OS files are to make use of the newly defined constants in globalDefinitions.hpp.

Reviewed-by: dholmes, ysr
2011-12-19 10:02:05 -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
Jiangli Zhou
fafb59a0dc Merge 2011-12-09 11:29:05 -08:00
Jiangli Zhou
f9f4ba0203 7117052: instanceKlass::_init_state can be u1 type
Change instanceKlass::_init_state field to u1 type.

Reviewed-by: bdelsart, coleenp, dholmes, phh, never
2011-12-06 18:28:51 -05:00
Jon Masamitsu
404bb0d0ac 7106024: CMS: Removed unused code for precleaning in remark phase
Remove dead code.

Reviewed-by: stefank, ysr
2011-11-22 14:18:39 -08: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
John Cuthbertson
cab4072f8d 7095243: Disambiguate ReferenceProcessor::_discoveredSoftRefs
Add a new, separate, pointer to the base of the array of discovered reference lists and use this new pointer in places where we iterate over the entire array.

Reviewed-by: ysr, brutisso
2011-10-17 09:57:41 -07:00
Antonios Printezis
81bdd2ccc6 7088680: G1: Cleanup in the G1CollectorPolicy class
Removed unused fields and methods, removed the G1CollectoryPolicy_BestRegionsFirst class and folded its functionality into the G1CollectorPolicy class.

Reviewed-by: ysr, brutisso, jcoomes
2011-10-14 11:12:24 -04:00
John Cuthbertson
4738ed88a5 7098282: G1: assert(interval >= 0) failed: Sanity check, referencePolicy.cpp: 76
There is a race between one thread successfully forwarding and copying the klass mirror for the SoftReference class (including the static master clock) and another thread attempting to use the master clock while attempting to discover a soft reference object. Maintain a shadow copy of the soft reference master clock and use the shadow during reference discovery and reference processing.

Reviewed-by: tonyp, brutisso, ysr
2011-10-12 10:25:51 -07:00
Antonios Printezis
78662d3b17 Merge 2011-10-06 13:28:09 -04: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
John Cuthbertson
1b62d10b4b 6484982: G1: process references during evacuation pauses
G1 now uses two reference processors - one is used by concurrent marking and the other is used by STW GCs (both full and incremental evacuation pauses). In an evacuation pause, the reference processor is embedded into the closures used to scan objects. Doing so causes causes reference objects to be 'discovered' by the reference processor. At the end of the evacuation pause, these discovered reference objects are processed - preserving (and copying) referent objects (and their reachable graphs) as appropriate.

Reviewed-by: ysr, jwilhelm, brutisso, stefank, tonyp
2011-09-22 10:57:37 -07:00
Tom Rodriguez
e3afdf10ad 7088955: add C2 IR support to the SA
Reviewed-by: kvn
2011-09-11 14:48:24 -07:00
Stefan Karlsson
bfa7e324d9 Merge 2011-09-09 14:44:43 +02:00
Y. Srinivas Ramakrishna
ed72e31727 4965777: GC changes to support use of discovered field for pending references
If and when the reference handler thread is able to use the discovered field to link reference objects in its pending list, so will GC. In that case, GC will scan through this field once a reference object has been placed on the pending list, but not scan that field before that stage, as the field is used by the concurrent GC thread to link discovered objects. When ReferenceHandleR thread does not use the discovered field for the purpose of linking the elements in the pending list, as would be the case in older JDKs, the JVM will fall back to the old behaviour of using the next field for that purpose.

Reviewed-by: jcoomes, mchung, stefank
2011-09-07 13:55:42 -07:00
Stefan Karlsson
5b6ba4e611 7085906: Replace the permgen allocated sentinelRef with a self-looped end
Remove the sentinelRef and let the last Reference in a discovered chain point back to itself.

Reviewed-by: ysr, jmasa
2011-09-01 16:18:17 +02:00
Christian Thalinger
e3342531b4 7083184: JSR 292: don't store context class argument with call site dependencies
Reviewed-by: jrose, never
2011-08-29 05:07:35 -07:00
Vladimir Kozlov
90651b2666 7079329: Adjust allocation prefetching for T4
On T4 2 BIS instructions should be issued to prefetch 64 bytes

Reviewed-by: iveresov, phh, twisti
2011-08-16 16:59:46 -07:00
Christian Thalinger
134c40b4db 7071653: JSR 292: call site change notification should be pushed not pulled
Reviewed-by: kvn, never, bdelsart
2011-08-16 04:14:05 -07:00
Jon Masamitsu
15070123fa 6593758: RFE: Enhance GC ergonomics to dynamically choose ParallelGCThreads
Select number of GC threads dynamically based on heap usage and number of Java threads

Reviewed-by: johnc, ysr, jcoomes
2011-08-09 10:16:01 -07:00
Bengt Rutisson
40c94189f7 7110718: -XX:MarkSweepAlwaysCompactCount=0 crashes the JVM
Interpret MarkSweepAlwaysCompactCount < 1 as never do full compaction

Reviewed-by: ysr, tonyp, jmasa, johnc
2011-11-21 07:47:34 +01:00
John Coomes
73687afa5e 7061204: clean the chunk table synchronously in embedded builds
Reviewed-by: dholmes, never, jwilhelm, kvn
2011-07-06 12:28:07 -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
Y. Srinivas Ramakrishna
ed15a87975 7042740: CMS: assert(n> q) failed: Looping at: ... blockOffsetTable.cpp:557
Do a one-step look-ahead, when sweeping free or garbage blocks, to avoid overstepping sweep limit, which may become a non-block-boundary because of a heap expansion delta coalescing with a previously co-terminal free block.

Reviewed-by: brutisso, tonyp
2011-05-23 16:42:14 -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
Y. Srinivas Ramakrishna
e69cc568e9 Merge 2011-05-12 17:36:45 -07:00
Y. Srinivas Ramakrishna
7721092e27 Merge 2011-05-12 15:05:22 -07:00
Frederic Parain
b38843c8d9 7036199: Adding a notification to the implementation of GarbageCollectorMXBeans
Add a notification to the GarbageCollectorMXBeans

Reviewed-by: acorn, mchung
2011-05-12 10:30:11 -07:00
Y. Srinivas Ramakrishna
c40a4d6878 7043891: CMS: assert(_whole_heap.contains(p)) failed: out of bounds access to card marking array
Fixed assertion checking code that was attempting to translate addresses past end of space for card-table slot. Also elaborated some assertion checking messages.

Reviewed-by: iveresov, jmasa, tonyp
2011-05-11 15:47:12 -07:00
Y. Srinivas Ramakrishna
8e56205189 6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests
Fixed process_chunk_boundaries(), used for parallel card scanning when using ParNew/CMS, so as to prevent double-scanning, or worse, non-scanning of imprecisely marked objects exceeding parallel chunk size. Made some sizing parameters for parallel card scanning diagnostic, disabled ParallelGCRetainPLAB, and elaborated and clarified some comments.

Reviewed-by: stefank, johnc
2011-05-10 00:33:21 -07:00
Tom Rodriguez
b73681ae0c Merge 2011-05-06 11:36:25 -07:00
Bengt Rutisson
90ab9d500c Merge 2011-05-06 09:45:18 +02:00
Keith McGuigan
cc15f4771e Merge 2011-05-04 11:04:45 -04:00
Christian Thalinger
488bc73bcd 7041244: JSR 292: Server VM gets a SEGV running a JCK test
Reviewed-by: iveresov, kvn, never
2011-05-04 00:41:48 -07:00
Jon Masamitsu
0772441e15 Merge 2011-04-29 14:36:21 -07:00
Vladimir Kozlov
6d0283ed8e Merge 2011-04-29 11:15:30 -07: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
Antonios Printezis
10f6cc7fc3 7035144: G1: nightly failure: Non-dirty cards in region that should be dirty (failures still exist...)
We should only undirty cards after we decide that they are not on a young region, not before. The fix also includes improvements to the verify_dirty_region() method which print out which cards were not found dirty.

Reviewed-by: johnc, brutisso
2011-04-29 14:59:04 -04:00
Zhengyu Gu
6d9bd0f890 Merge 2011-04-27 06:20:00 -07:00
Zhengyu Gu
865413485d 7036747: 7017009 reappeared, problem with ElfStringTable
Created new "new" operator for CHeapObj that allows malloc to fail without causing fatal error. Also replaced "HeapAllocate" with "os::malloc" in decoder code to allow decoder to handle low memory scenario.

Reviewed-by: coleenp, dholmes
2011-04-27 09:09:57 -04:00
Y. Srinivas Ramakrishna
d86311b13c 7039089: G1: changeset for 7037276 broke heap verification, and related cleanups
In G1 heap verification, we no longer scan perm to G1-collected heap refs as part of process_strong_roots() but rather in a separate explicit oop iteration over the perm gen. This preserves the original perm card-marks. Added a new assertion in younger_refs_iterate() to catch a simple subcase where the user may have forgotten a prior save_marks() call, as happened in the case of G1's attempt to iterate perm to G1 refs when verifying the heap before exit. The assert was deliberately weakened for ParNew+CMS and will be fixed for that combination in a future CR. Also made some (non-G1) cleanups related to code and comments obsoleted by the migration of Symbols to the native heap.

Reviewed-by: iveresov, jmasa, tonyp
2011-04-26 21:17:24 -07:00
Jon Masamitsu
9050363747 Merge 2011-04-22 09:26:09 -07:00
Jon Masamitsu
8328bb291e Merge 2011-04-20 20:32:45 -07:00