Commit Graph

2739 Commits

Author SHA1 Message Date
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
John Coomes
87501184d9 Added tag hs22-b02 for changeset 7adf55aec150 2011-09-02 15:47:43 -07:00
John Coomes
b57839cc49 Added tag hs22-b01 for changeset 2143c41c2a90 2011-09-02 15:47:42 -07:00
Christian Thalinger
db44acbeb4 7085404: JSR 292: VolatileCallSites should have push notification too
Reviewed-by: never, kvn
2011-09-02 00:36:18 -07:00
Suchen Chien
463d10d607 Added tag jdk8-b03 for changeset 52cac2467a60 2011-09-01 13:54:24 -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
fcc2a86582 7079673: JSR 292: C1 should inline bytecoded method handle adapters
Reviewed-by: never
2011-09-01 01:31:25 -07:00
Y. Srinivas Ramakrishna
74b5a420d5 Merge 2011-08-31 23:55:58 -07:00
Tom Rodriguez
fa7c124af1 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
2011-08-31 16:46:11 -07:00
John Coomes
167b4fa4d4 Merge 2011-08-31 13:57:17 -07:00
John Cuthbertson
6c8c4fb321 7066841: remove MacroAssembler::br_on_reg_cond() on sparc
Remove the macro assembler routine br_on_reg_cond() and replace the remaining calls to that routine with an equivalent.

Reviewed-by: kvn, iveresov
2011-08-31 10:16:02 -07:00
Vladimir Kozlov
9c87ea9062 7085137: -XX:+VerifyOops is broken
Replace set() with patchable_set() to generate 8 instructions always.

Reviewed-by: iveresov, never, roland
2011-08-31 09:48:21 -07:00
Christian Thalinger
05b60b3662 7078382: JSR 292: don't count method handle adapters against inlining budgets
Reviewed-by: kvn, never
2011-08-31 01:40:45 -07:00
Igor Veresov
5903a384b4 7085279: C1 overflows code buffer with VerifyOops and CompressedOops
Increase the limit of code emitted per LIR instruction, increase the max size of the nmethod generated by C1

Reviewed-by: never, kvn, johnc
2011-08-30 19:01:58 -07:00
Tom Rodriguez
cebdce4479 7082263: Reflection::resolve_field/field_get/field_set are broken
Reviewed-by: kvn, dholmes, stefank, coleenp
2011-08-30 00:54:09 -07:00
Igor Veresov
d8fd276e35 7082645: Hotspot doesn't compile on old linuxes after 7060836
Move syscall ids definitions into os_linux.cpp

Reviewed-by: johnc
2011-08-29 17:42:39 -07:00
John Cuthbertson
1bec3a1bd3 7080389: G1: refactor marking code in evacuation pause copy closures
Refactor code marking code in the evacuation pause copy closures so that an evacuated object is only marked by the thread that successfully copies it.

Reviewed-by: stefank, brutisso, tonyp
2011-08-29 10:13:06 -07: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
Igor Veresov
ec3f90d1b4 6591247: C2 cleans up the merge point too early during SplitIf
Remove region self reference last

Reviewed-by: kvn, never
2011-08-27 00:23:47 -07:00
Alejandro Murillo
d475b8efcb 7083916: Bump the hs22 build number to 03
Reviewed-by: jcoomes
2011-08-26 16:11:25 -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
Tom Rodriguez
19f7fb98b8 7082949: JSR 292: missing ResourceMark in methodOopDesc::make_invoke_method
Reviewed-by: kvn, twisti
2011-08-25 20:29:30 -07:00
Vladimir Kozlov
fa7cc07ca0 Merge 2011-08-25 18:56:52 -07:00
Suchen Chien
7e98ef4f0e Added tag jdk8-b02 for changeset 4c6704d59ad1 2011-08-25 17:17:59 -07:00
Tom Deneau
06d05b7c47 7082969: NUMA interleaving
Support interleaving on NUMA systems for collectors that don't have NUMA-awareness.

Reviewed-by: iveresov, ysr
2011-08-25 02:57:46 -07:00
Bengt Rutisson
0c6ad2c298 7082220: Visual Studio projects broken after change 7016797: Hotspot: securely/restrictive load dlls and new
Add the psapi.lib library to Visual Studio projects

Reviewed-by: jwilhelm, poonam, kamg
2011-08-23 11:06:30 +02:00
Y. Srinivas Ramakrishna
4df87be52f Merge 2011-08-22 23:57:10 -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
Vladimir Kozlov
85b4875e2e 7081926: assert(VM_Version::supports_sse2()) failed: must support
Fix assert, prefetchnta is supported since SSE not SSE2.

Reviewed-by: never
2011-08-22 11:00:39 -07:00
Antonios Printezis
2cbacf440a 7081064: G1: remove develop params G1FixedSurvivorSpaceSize, G1FixedTenuringThreshold, and G1FixedEdenSize
Remove three develop parameters we don't use.

Reviewed-by: brutisso, jwilhelm
2011-08-22 10:16:33 -04:00
Vladimir Kozlov
b4082c3cd1 7076831: TEST_BUG: compiler/5091921/Test7005594.java fails on LOW MEM SYSTEMS
Run test only on systems with 2Gbyte or more memory. Don't zap heap to reduce execution time.

Reviewed-by: iveresov
2011-08-20 14:03:12 -07:00
John Coomes
4af11eb3ae 7081251: bump the hs22 build number to 02
Reviewed-by: johnc
2011-08-19 14:22:25 -07:00
John Coomes
af31d0cf27 Merge 2011-08-19 14:08:18 -07:00
Vladimir Kozlov
2cfb876ce7 Merge 2011-08-19 08:55:53 -07:00
Bengt Rutisson
6fdb1414fa 6814390: G1: remove the concept of non-generational G1
Removed the possibility to turn off generational mode for G1.

Reviewed-by: johnc, ysr, tonyp
2011-08-19 09:30:59 +02:00
Christine Lu
30265a42fd Added tag jdk8-b01 for changeset 2143c41c2a90 2011-08-18 18:55:12 -07:00
Vladimir Kozlov
ff4faaab4b 7080431: VM asserts if specified size(x) in .ad is larger than emitted size
Move code from finalize_offsets_and_shorten() to fill_buffer() to restore previous behavior.

Reviewed-by: never
2011-08-18 11:49:33 -07:00
Christian Thalinger
db338313bf 7079769: JSR 292: incorrect size() for CallStaticJavaHandle on sparc
Reviewed-by: never, kvn
2011-08-17 11:52:22 -07:00
Christian Thalinger
fc31a8e0b9 7079626: x64 emits unnecessary REX prefix
Reviewed-by: kvn, iveresov, never
2011-08-17 05:14:43 -07:00
Gary Collins
d164c986b5 Merge 2011-08-17 07:05:42 -04: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
Vladimir Kozlov
080f790edc 7079317: Incorrect branch's destination block in PrintoOptoAssembly output
Save/restore label and block in scratch_emit_size()

Reviewed-by: never
2011-08-16 11:53:57 -07:00
Y. Srinivas Ramakrishna
183a935fcb Merge 2011-08-16 08:02:29 -07:00
Zhengyu Gu
1b7f659a43 Merge 2011-08-16 09:18:47 -04: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
Antonios Printezis
f482091133 7039627: G1: avoid BOT updates for survivor allocations and dirty survivor regions incrementally
Refactor the allocation code during GC to use the G1AllocRegion abstraction. Use separate subclasses of G1AllocRegion for survivor and old regions. Avoid BOT updates and dirty survivor cards incrementally for the former.

Reviewed-by: brutisso, johnc, ysr
2011-08-12 11:31:06 -04:00
Vladimir Kozlov
ac99f413d7 7063629: use cbcond in C2 generated code on T4
Use new short branch instruction in C2 generated code.

Reviewed-by: never
2011-08-11 12:08:11 -07:00
John Cuthbertson
0da9dc64d2 7074579: G1: JVM crash with JDK7 running ATG CRMDemo Fusion App
Handlize MemoryUsage klass oop in createGCInfo routine

Reviewed-by: tonyp, fparain, ysr, jcoomes
2011-08-11 11:36:29 -07:00
Kevin Walls
e6603b37f2 Merge 2011-08-11 14:58:29 +01:00
Vladimir Kozlov
52f678435a 7077439: Possible reference through NULL in loopPredicate.cpp:726
Use cl->is_valid_counted_loop() check.

Reviewed-by: never
2011-08-10 14:06:57 -07:00
Andrew Haley
aefb3a004f 7073913: The fix for 7017193 causes segfaults
Buffer overflow in os::get_line_chars

Reviewed-by: coleenp, dholmes, dcubed
2011-08-10 15:04:21 +04:00
Andrew John Hughes
c4b791d93a 7060836: RHEL 5.5 and 5.6 should support UseNUMA
Add a wrapper for sched_getcpu() for systems where libc lacks it

Reviewed-by: ysr
2011-08-05 16:50:14 -07:00
Igor Veresov
427c404400 7060842: UseNUMA crash with UseHugreTLBFS running SPECjvm2008
Use mmap() instead of madvise(MADV_DONTNEED) to uncommit pages

Reviewed-by: ysr
2011-08-05 16:44:01 -07:00
John Cuthbertson
f7d3d2b63e 7069863: G1: SIGSEGV running SPECjbb2011 and -UseBiasedLocking
Align the reserved size of the heap and perm to the heap region size to get a preferred heap base that is aligned to the region size, and call the correct heap reservation constructor. Also add a check in the heap reservation code that the reserved space starts at the requested address (if any).

Reviewed-by: kvn, ysr
2011-08-02 12:13:13 -07:00
Roland Westrelin
b543a07b9a 7074017: Introduce MemBarAcquireLock/MemBarReleaseLock nodes for monitor enter/exit code paths
Replace MemBarAcquire/MemBarRelease nodes on the monitor enter/exit code paths with new MemBarAcquireLock/MemBarReleaseLock nodes

Reviewed-by: kvn, twisti
2011-08-02 18:36:40 +02:00