1986 Commits

Author SHA1 Message Date
Igor Veresov
0e0ba86cd8 Merge 2011-09-15 12:44:09 -07:00
Tom Rodriguez
a300a41ea1 7090654: nightly failures after 7086585
Reviewed-by: kvn
2011-09-14 13:57:32 -07:00
Bertrand Delsart
bc855ff2e0 7077806: ARM: java.lang.InternalError: bound subword value does not fit into the subword type
Shared fix necessary for ARM/PPC

Reviewed-by: twisti, roland
2011-09-14 16:28:39 +02:00
Bertrand Delsart
fcc31d9741 7057978: improve robustness of c1 ARM back-end wrt non encodable constants
ARM only, avoid assertion failures for huge constants generated by C1 shared code

Reviewed-by: never, vladidan
2011-09-14 10:40:13 +02:00
Roland Westrelin
9d8e44db59 7077312: Provide a CALL effect for instruct declaration in the ad file
Abstracted way to declare that the MachNode has the effect of a call (kills caller save registers, preserves callee save registers)

Reviewed-by: twisti, never
2011-09-14 09:22:51 +02:00
Christian Thalinger
89d4179a4b 7110058: change default for ScavengeRootsInCode to 2
Reviewed-by: kvn, never
2011-11-21 00:57:43 -08:00
Christian Thalinger
ed9a60ae02 7108383: JSR 292: JRuby bench_define_method_methods.rb: assert(slow_jvms != NULL) failed: miss path must not
Reviewed-by: kvn, never
2011-11-17 04:07:30 -08:00
Igor Veresov
b6ce13798b 7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks
Move the inlinee invoke notification callback into inlinee preamble

Reviewed-by: kvn, never
2011-11-16 19:42:58 -08:00
Vladimir Kozlov
8d2ee23293 6890673: Eliminate allocations immediately after EA
Try to eliminate allocations and related locks immediately after escape analysis.

Reviewed-by: never
2011-11-16 09:13:57 -08:00
Christian Thalinger
81c085a1e2 7003454: order constants in constant table by number of references in code
Reviewed-by: kvn, never, bdelsart
2011-11-16 01:39:50 -08:00
Vladimir Kozlov
6b52dbceb0 7105605: Use EA info to optimize pointers compare
Optimize pointers compare using EA information.

Reviewed-by: never, twisti
2011-11-14 18:38:03 -08:00
Vladimir Kozlov
157ba53d27 7110586: C2 generates incorrect results
Exact limit of empty loop calculated incorrectly.

Reviewed-by: iveresov, never
2011-11-10 20:17:05 -08:00
Vladimir Kozlov
f99084037a 7090259: Fix hotspot sources to build with old compilers
Fixed warnings which prevent building VM with old compilers.

Reviewed-by: never
2011-09-13 20:28:00 -07:00
Vladimir Kozlov
e756c96259 7089632: assert(machtmp->outcnt() == 1) failed: expected for a MachTemp
Replace assert with check to delete MachTemp nodes only when they are really dead.

Reviewed-by: never
2011-09-13 11:46:51 -07:00
Antonios Printezis
7d850203b9 7089625: G1: policy for how many old regions to add to the CSet (when young gen is fixed) is broken
When refactoring the code for a previous fix, a condition was not correctly negated which prevents the G1 policy from adding the correct number of old regions to the CSet when the young gen size is fixed. The changeset also fixes a small syntactical issue in g1ErgoVerbose.hpp which is causing compiler warnings.

Reviewed-by: brutisso, ysr
2011-09-13 12:40:14 -04:00
Tom Rodriguez
1f8f1f79be 7089709: type "jushort" not found
Reviewed-by: kvn, twisti
2011-09-12 13:51:40 -07:00
Stefan Karlsson
a4523cfc7f 7021322: assert(object_end <= top()) failed: Object crosses promotion LAB boundary
Pass the same object size value to both allocate and unallocate_object

Reviewed-by: ysr, brutisso
2011-09-12 16:09:50 +02:00
Antonios Printezis
75685a273a 7097048: G1: extend the G1 SA changes to print per-heap space information
Reviewed-by: brutisso, johnc
2011-10-03 19:04:14 -04:00
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
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
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
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
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