2899 Commits

Author SHA1 Message Date
John Cuthbertson
02e9894454 7097053: G1: assert(da ? referent->is_oop() : referent->is_oop_or_null()) failed: referenceProcessor.cpp:1054
During remembered set scanning, the reference processor could discover a reference object whose referent was in the process of being copied and so may not be completely initialized. Do not perform reference discovery during remembered set scanning.

Reviewed-by: tonyp, ysr
2011-10-03 12:49:53 -07:00
John Cuthbertson
bbfe9c6e25 7086533: G1: assert(!_g1->is_obj_dead(obj)): We should not be preserving dead objs: g1CollectedHeap.cpp:3835
Some objects may not be marked in the event of an evacuation failure in a partially young GC, during a marking cycle. Avoid this situation by not allowing partially young GCs during a marking cycle.

Reviewed-by: tonyp, ysr, brutisso
2011-09-28 10:36:31 -07:00
Bengt Rutisson
cc177fd515 7091366: re-enable quicksort tests
Added extern "C" to make it build with JDK6 compilers

Reviewed-by: jwilhelm, kvn
2011-09-26 10:14:30 +02:00
Antonios Printezis
55c503aea2 7075646: G1: fix inconsistencies in the monitoring data
Fixed a few inconsistencies in the monitoring data, in particular when reported from jstat.

Reviewed-by: jmasa, brutisso, johnc
2011-09-23 16:07:49 -04: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
Antonios Printezis
70bb8e788e 7092238: G1: Uninitialized field gc_efficiency in G1PrintRegionLivenessInfo output
Reviewed-by: jcoomes, johnc
2011-09-22 07:18:51 -04:00
John Cuthbertson
08bdb35a29 7092245: G1: Wrong format specifier in G1PrintRegionLivenessInfo header output
Cast HeapRegion::GrainBytes to size_t in output statement.

Reviewed-by: ysr, brutisso, pbk, tonyp
2011-09-21 15:24:07 -07:00
Antonios Printezis
0f7ff53cce 7091032: G1: assert failure when NewRatio is used
The desired min / max heap sizes are miscalculated at initialization when NewRatio is used. The changeset also includes an additional small change to turn a print statement into a warning.

Reviewed-by: johnc, jmasa, ysr, brutisso
2011-09-21 13:36:37 -04:00
John Cuthbertson
2f83b52706 7068215: G1: Print reference processing time during remark
Displays the elapsed time taken to perform reference processing during remark as part of the PrintGCDetails output.

Reviewed-by: ysr
2011-09-21 10:04:45 -07:00
Antonios Printezis
c5b2025c02 7045232: G1: pool names are inconsistent with other collectors (don't have 'Space')
Make sure the eden and survivor pools have "Space" in their name.

Reviewed-by: jmasa, ysr
2011-09-21 01:27:20 -04:00
John Cuthbertson
3ae9021b59 7092412: G1: Some roots not marked during an initial mark that gets an evacuation failure
As a result of the changes for 7080389, an evacuation failure during an initial mark pause may result in some root objects not being marked. Pass whether the caller is a root scanning closure into the evacuation failure handling code so that the thread that successfully forwards an object to itself also marks the object.

Reviewed-by: ysr, brutisso, tonyp
2011-09-20 15:39:17 -07:00
Antonios Printezis
95832db2e5 7059019: G1: add G1 support to the SA
Extend the SA to recognize the G1CollectedHeap and implement any code that's needed by our serviceability tools (jmap, jinfo, jstack, etc.) that depend on the SA.

Reviewed-by: never, poonam, johnc
2011-09-20 09:59:59 -04:00
Tom Rodriguez
e3afdf10ad 7088955: add C2 IR support to the SA
Reviewed-by: kvn
2011-09-11 14:48:24 -07:00
Tom Rodriguez
e39ba1a5fe 7086585: make Java field injection more flexible
Reviewed-by: jrose, twisti, kvn, coleenp
2011-09-10 17:29:02 -07:00
Tom Rodriguez
1ebca30d26 7088020: SEGV in JNIHandleBlock::release_block
Reviewed-by: kvn, twisti
2011-09-10 00:11:04 -07:00
John Coomes
d6fd9c2339 Added tag hs22-b05 for changeset 2787676b53cf 2011-09-09 16:33:13 -07:00
Alejandro Murillo
8ad902f1ed 7088991: Bump ths hs22 build number to 05
Reviewed-by: johnc
2011-09-09 16:24:12 -07:00
John Coomes
8bc1babb6d Merge 2011-09-09 16:17:16 -07:00
Vladimir Kozlov
92b2b44b18 7035946: Up to 15% regression on JDK 7 b136 vs b135 on specjvm2008.crypto.rsa on x64
Revert changes which caused regression.

Reviewed-by: never
2011-09-09 13:47:11 -07:00
Igor Veresov
67ba51cae8 Merge 2011-09-09 12:44:37 -07:00
Stefan Karlsson
bfa7e324d9 Merge 2011-09-09 14:44:43 +02:00
Antonios Printezis
1a9d9b84f8 7087717: G1: make the G1PrintRegionLivenessInfo parameter diagnostic
Reviewed-by: brutisso, ysr
2011-09-09 05:20:58 -04:00
Suchen Chien
58c9fc4526 Added tag jdk8-b04 for changeset fed6cacab5cb 2011-09-08 16:59:27 -07:00
Bengt Rutisson
0be11c915c 6929868: G1: introduce min / max young gen size bounds
Make G1 handle young gen size command line flags more consistently

Reviewed-by: tonyp, jwilhelm
2011-09-08 16:29:41 +02:00
Robert Ottenhag
b62fb1de97 Merge 2011-09-08 06:36:31 -07:00
Antonios Printezis
d96de580b6 7084509: G1: fix inconsistencies and mistakes in the young list target length calculations
Fixed inconsistencies and mistakes in the young list target length calculations so that a) the calculated target length is optimal (before, it was not), b) other parameters like max survivor size and max gc locker eden expansion are always consistent with the calculated target length (before, they were not always), and c) the resulting target length was always bound by desired min and max values (before, it was not).

Reviewed-by: brutisso, johnc
2011-09-08 05:16:49 -04:00
Roland Westrelin
499732d316 7087453: PhaseChaitin::yank_if_dead() should handle MachTemp inputs
PhaseChaitin::yank_if_dead() should be able to handle MachTemp inputs as a special case and yank them.

Reviewed-by: never, kvn
2011-09-08 09:35:41 +02:00
Vladimir Kozlov
42c3c5cb7b 7087947: Add regression test for 7068051
Add regression test.

Reviewed-by: never
2011-09-08 12:44:04 -07:00
Christian Thalinger
439b75eb12 7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods
Reviewed-by: jrose, never
2011-09-08 05:11:31 -07:00
Bertrand Delsart
6141a568aa 7087445: Improve platform independence of JSR292 shared code
Changes necessary for some JSR292 ports

Reviewed-by: jrose, dholmes
2011-09-08 10:12:25 +02:00
Igor Veresov
1940a13d31 7086226: UseNUMA fails on old versions of windows
Return correct answers from os::numa_*() for UMA machines or if NUMA API is not supported

Reviewed-by: johnc
2011-09-07 18:58:33 -07: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
Y. Srinivas Ramakrishna
ec13301b32 Merge 2011-09-07 15:00:13 -07:00
Vladimir Kozlov
61068411fa 7054211: No loop unrolling done in jdk7b144 for a test update() while loop
Restore unrolling code for CaffeineMark.

Reviewed-by: never
2011-09-07 12:58:42 -07:00
Igor Veresov
315ec64dce Merge 2011-09-07 11:52:00 -07:00
Antonios Printezis
24eb07061e 7050392: G1: Introduce flag to generate a log of the G1 ergonomic decisions
It introduces ergonomic decision logging in G1 for the following heuristics: heap sizing, collection set construction, concurrent cycle initiation, and partially-young GC start/end. The code has a bit of refactoring in a few places to make the decision logging possible. It also replaces alternative ad-hoc logging that we have under different parameters and switches (G1_DEBUG, G1PolicyVerbose).

Reviewed-by: johnc, ysr
2011-09-07 12:21:23 -04:00
Roland Westrelin
90844ca5dc 7085012: ARM: com/sun/jdi/PopSynchronousTest.java still fails
InterpreterRuntime::popframe_move_outgoing_args() is required for the ARM interpreter.

Reviewed-by: kvn, twisti
2011-09-07 14:15:07 +02:00
Roland Westrelin
48ecf5dfe4 7086394: c2/arm: enable UseFPUForSpilling
ARM has instructions to move data directly between the fpu and integer registers.

Reviewed-by: kvn, never
2011-09-07 09:35:52 +02:00
Igor Veresov
a9cd50a1c8 7087583: Hotspot fails to allocate heap with mmap(MAP_HUGETLB)
Try using small pages when transparent huge pages allocation fails

Reviewed-by: ysr
2011-09-06 21:03:51 -07:00
Tom Rodriguez
edb7b9514a 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
Reviewed-by: kvn
2011-09-05 17:09:05 -07:00
Vladimir Kozlov
dece7fbfec 7086560: 7085404 changes broke VM with -XX:-EnableInvokeDynamic
Add check that ciEnv::_CallSite_klass is initialized.

Reviewed-by: jrose
2011-09-03 14:03:54 -07:00
Tom Rodriguez
b13890a199 Merge 2011-09-03 09:56:57 -07:00
Tom Rodriguez
d4d5856fd4 7016881: JSR 292: JDI: sun.jvm.hotspot.utilities.AssertionFailure: index out of bounds
Reviewed-by: kvn, twisti
2011-09-02 22:00:49 -07:00
John Coomes
4a09997f51 Merge 2011-09-02 21:33:57 -07:00
Tom Rodriguez
32fd1b087d 7071307: MethodHandle bimorphic inlining should consider the frequency
Reviewed-by: twisti, roland, kvn, iveresov
2011-09-02 20:58:21 -07:00
John Coomes
c8c58542b3 Added tag hs22-b04 for changeset 741bcb34b337 2011-09-02 15:52:03 -07:00
Vladimir Kozlov
f7d7a6071a 7039731: arraycopy could use prefetch on SPARC
Use BIS and prefetch in arraycopy stubs for Sparc (BIS for T4 only).

Reviewed-by: never, iveresov
2011-09-02 12:13:33 -07:00
Christian Thalinger
1038fed51d 7071709: JSR 292: switchpoint invalidation should be pushed not pulled
Reviewed-by: never
2011-09-02 04:28:59 -07:00
Alejandro Murillo
096ba80aea 7086589: bump the hs22 build number to 04
Reviewed-by: johnc
2011-09-02 03:49:30 -07:00
John Coomes
d42d7de7ff Added tag hs22-b03 for changeset 52cac2467a60 2011-09-02 15:47:43 -07:00