From rkennke at redhat.com Tue May 2 17:31:44 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 2 May 2017 19:31:44 +0200 Subject: RFR: Adjust heuristics for running with update-refs phase Message-ID: <06231207-5ead-2979-901e-40d503224484@redhat.com> When running with -XX:+ShenandoahUpdateRefsEarly, heuristics need to work differently because we're reclaiming the cset before marking, not after. With current settings, we're not using ~40% of the heap when running with update-refs. Updating refs in a separate cycle also breaks the funny ping-ponging of GC cycles we have seen early. We can thus skip over the extra handling for the expected cset-reclaimed-space, which also makes us use all of the heap. http://cr.openjdk.java.net/~rkennke/update-refs-heuristics/webrev.00/ Notice that this means we now tend to run into full-gc during update refs phase. We need to solve this by implementing degeneration of update-refs just like we did with marking, i.e. if we run OOM during update-refs, stop the world and finish updating refs under the pause, instead of going into full-gc. This is not part of this patch though. We also need different thresholds when running with update-refs. Doesn't make much sense to fiddle with this before we have degenerated update-refs. Ok to push? Roman From shade at redhat.com Tue May 2 17:35:58 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 2 May 2017 19:35:58 +0200 Subject: RFR: Adjust heuristics for running with update-refs phase In-Reply-To: <06231207-5ead-2979-901e-40d503224484@redhat.com> References: <06231207-5ead-2979-901e-40d503224484@redhat.com> Message-ID: On 05/02/2017 07:31 PM, Roman Kennke wrote: > When running with -XX:+ShenandoahUpdateRefsEarly, heuristics need to > work differently because we're reclaiming the cset before marking, not > after. With current settings, we're not using ~40% of the heap when > running with update-refs. Updating refs in a separate cycle also breaks > the funny ping-ponging of GC cycles we have seen early. We can thus skip > over the extra handling for the expected cset-reclaimed-space, which > also makes us use all of the heap. > > http://cr.openjdk.java.net/~rkennke/update-refs-heuristics/webrev.00/ > > > Notice that this means we now tend to run into full-gc during update > refs phase. We need to solve this by implementing degeneration of > update-refs just like we did with marking, i.e. if we run OOM during > update-refs, stop the world and finish updating refs under the pause, > instead of going into full-gc. This is not part of this patch though. > > We also need different thresholds when running with update-refs. Doesn't > make much sense to fiddle with this before we have degenerated update-refs. > > Ok to push? Makes sense. Looks good. -Aleksey From roman at kennke.org Tue May 2 18:28:01 2017 From: roman at kennke.org (roman at kennke.org) Date: Tue, 02 May 2017 18:28:01 +0000 Subject: hg: shenandoah/jdk9/hotspot: Adjust heuristics for running with update-refs phase. Message-ID: <201705021828.v42IS1uI021193@aojmv0008.oracle.com> Changeset: 6c9a62410da8 Author: rkennke Date: 2017-05-02 20:26 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/6c9a62410da8 Adjust heuristics for running with update-refs phase. ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp From zgu at redhat.com Tue May 2 18:34:03 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 2 May 2017 14:34:03 -0400 Subject: RFR: Adjust heuristics for running with update-refs phase In-Reply-To: <06231207-5ead-2979-901e-40d503224484@redhat.com> References: <06231207-5ead-2979-901e-40d503224484@redhat.com> Message-ID: <82e593df-bdf4-7b00-ef06-7665fb1d64c8@redhat.com> 498 size_t available = free_capacity - free_used; 499 uintx factor = _free_threshold; 500 size_t cset_threshold = 0; 501 if (!update_refs_early()) { 502 // Count in the memory available after cset reclamation. 503 cset_threshold = (size_t) _cset_history->davg(); 504 size_t cset_threshold = (size_t) _cset_history->davg(); 505 size_t cset = MIN2(_bytes_in_cset, (cset_threshold * capacity) / 100); 506 available += cset; 507 factor += cset_threshold; 508 } 509 There are two definitions of cset_threshold variables, and #503 and 504 are dup ... -Zhengyu On 05/02/2017 01:31 PM, Roman Kennke wrote: > When running with -XX:+ShenandoahUpdateRefsEarly, heuristics need to > work differently because we're reclaiming the cset before marking, not > after. With current settings, we're not using ~40% of the heap when > running with update-refs. Updating refs in a separate cycle also breaks > the funny ping-ponging of GC cycles we have seen early. We can thus skip > over the extra handling for the expected cset-reclaimed-space, which > also makes us use all of the heap. > > http://cr.openjdk.java.net/~rkennke/update-refs-heuristics/webrev.00/ > > > Notice that this means we now tend to run into full-gc during update > refs phase. We need to solve this by implementing degeneration of > update-refs just like we did with marking, i.e. if we run OOM during > update-refs, stop the world and finish updating refs under the pause, > instead of going into full-gc. This is not part of this patch though. > > We also need different thresholds when running with update-refs. Doesn't > make much sense to fiddle with this before we have degenerated update-refs. > > Ok to push? > > Roman > > > From roman at kennke.org Tue May 2 18:45:52 2017 From: roman at kennke.org (roman at kennke.org) Date: Tue, 02 May 2017 18:45:52 +0000 Subject: hg: shenandoah/jdk9/hotspot: Remove duplicated cset_threshold declaration/definition. Message-ID: <201705021845.v42IjriY028915@aojmv0008.oracle.com> Changeset: c58bf8de878c Author: rkennke Date: 2017-05-02 20:44 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/c58bf8de878c Remove duplicated cset_threshold declaration/definition. ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp From rkennke at redhat.com Tue May 2 18:45:25 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 2 May 2017 20:45:25 +0200 Subject: RFR: Adjust heuristics for running with update-refs phase In-Reply-To: <82e593df-bdf4-7b00-ef06-7665fb1d64c8@redhat.com> References: <06231207-5ead-2979-901e-40d503224484@redhat.com> <82e593df-bdf4-7b00-ef06-7665fb1d64c8@redhat.com> Message-ID: <590d9967-80a5-47a8-f549-caf5c649fbcf@redhat.com> Am 02.05.2017 um 20:34 schrieb Zhengyu Gu: > > 498 size_t available = free_capacity - free_used; > 499 uintx factor = _free_threshold; > 500 size_t cset_threshold = 0; > 501 if (!update_refs_early()) { > 502 // Count in the memory available after cset reclamation. > 503 cset_threshold = (size_t) _cset_history->davg(); > 504 size_t cset_threshold = (size_t) _cset_history->davg(); > 505 size_t cset = MIN2(_bytes_in_cset, (cset_threshold * > capacity) / 100); > 506 available += cset; > 507 factor += cset_threshold; > 508 } > 509 > > There are two definitions of cset_threshold variables, and #503 and > 504 are dup ... Oops :-) Fixed with a small followup patch. Thanks for finding! Roman From shade at redhat.com Wed May 3 11:21:08 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 3 May 2017 13:21:08 +0200 Subject: RFR (S): Conditional matrix cleanup Message-ID: Hi, Turns out, the significant part of per-region matrix cleanup are the actual stores. In most of our scenarios the matrix is very sparse, and therefore it helps to avoid writes by checking if matrix element is set before the store: http://cr.openjdk.java.net/~shade/shenandoah/matrix-clear-conditional/webrev.01/ Improves recycling and final mark times (when matrix is enabled): Before: Recycle = 0.86 s (a = 8447 us) (n = 102) (lvls, us = 8008, 8223, 8496, 8613, 9207) After: Recycle = 0.52 s (a = 5076 us) (n = 102) (lvls, us = 4668, 4766, 4863, 5215, 7828) Testing: hotspot_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Wed May 3 13:24:18 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 3 May 2017 15:24:18 +0200 Subject: RFR (S): Conditional matrix cleanup In-Reply-To: References: Message-ID: <3f50a281-4d54-597e-f2d3-c858276e7312@redhat.com> Am 03.05.2017 um 13:21 schrieb Aleksey Shipilev: > Hi, > > Turns out, the significant part of per-region matrix cleanup are the actual > stores. In most of our scenarios the matrix is very sparse, and therefore it > helps to avoid writes by checking if matrix element is set before the store: > http://cr.openjdk.java.net/~shade/shenandoah/matrix-clear-conditional/webrev.01/ > > Improves recycling and final mark times (when matrix is enabled): > > Before: > > Recycle = 0.86 s (a = 8447 us) (n = 102) > (lvls, us = 8008, 8223, 8496, 8613, 9207) > > After: > > Recycle = 0.52 s (a = 5076 us) (n = 102) > (lvls, us = 4668, 4766, 4863, 5215, 7828) > > Testing: hotspot_gc_shenandoah > > Thanks, > -Aleksey > Yes! From ashipile at redhat.com Wed May 3 13:28:44 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 03 May 2017 13:28:44 +0000 Subject: hg: shenandoah/jdk9/hotspot: Conditional matrix cleanup. Message-ID: <201705031328.v43DSiMH029225@aojmv0008.oracle.com> Changeset: a733f6758591 Author: shade Date: 2017-05-03 13:32 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/a733f6758591 Conditional matrix cleanup. ! src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp ! src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.hpp ! src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.inline.hpp From shade at redhat.com Wed May 3 14:12:40 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 3 May 2017 16:12:40 +0200 Subject: RFR (S): Parallelize partial GC cleanup Message-ID: <0c59ffde-8bd3-9281-b32d-e5157a35a6f3@redhat.com> Hi, Matrix and bitmap cleanups take significant time in partial GC. The obvious solution is to parallelize it at this point, since we have mined out the sequential improvements. Fix: http://cr.openjdk.java.net/~shade/shenandoah/partial-recycle-parallel/webrev.01/ Improves partial GC times significantly under heavy allocation pressure: http://cr.openjdk.java.net/~shade/shenandoah/partial-recycle-parallel/perf.txt Testing: hotspot_gc_shenandoah Thanks, -Aleksey From zgu at redhat.com Wed May 3 14:20:42 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 3 May 2017 10:20:42 -0400 Subject: RFR (S): Parallelize partial GC cleanup In-Reply-To: <0c59ffde-8bd3-9281-b32d-e5157a35a6f3@redhat.com> References: <0c59ffde-8bd3-9281-b32d-e5157a35a6f3@redhat.com> Message-ID: ShenandoahCollectionSet already has claim_next() to claim regions for parallel processing. Thanks, -Zhengyu On 05/03/2017 10:12 AM, Aleksey Shipilev wrote: > Hi, > > Matrix and bitmap cleanups take significant time in partial GC. The obvious > solution is to parallelize it at this point, since we have mined out the > sequential improvements. > > Fix: > http://cr.openjdk.java.net/~shade/shenandoah/partial-recycle-parallel/webrev.01/ > > Improves partial GC times significantly under heavy allocation pressure: > http://cr.openjdk.java.net/~shade/shenandoah/partial-recycle-parallel/perf.txt > > Testing: hotspot_gc_shenandoah > > Thanks, > -Aleksey > From shade at redhat.com Wed May 3 14:49:39 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 3 May 2017 16:49:39 +0200 Subject: RFR (S): Parallelize partial GC cleanup In-Reply-To: References: <0c59ffde-8bd3-9281-b32d-e5157a35a6f3@redhat.com> Message-ID: Ah! Oh! http://cr.openjdk.java.net/~shade/shenandoah/partial-recycle-parallel/webrev.02/ Thanks, -Aleksey On 05/03/2017 04:20 PM, Zhengyu Gu wrote: > > ShenandoahCollectionSet already has claim_next() to claim regions for parallel > processing. > > Thanks, > > -Zhengyu > > On 05/03/2017 10:12 AM, Aleksey Shipilev wrote: >> Hi, >> >> Matrix and bitmap cleanups take significant time in partial GC. The obvious >> solution is to parallelize it at this point, since we have mined out the >> sequential improvements. >> >> Fix: >> >> http://cr.openjdk.java.net/~shade/shenandoah/partial-recycle-parallel/webrev.01/ >> >> Improves partial GC times significantly under heavy allocation pressure: >> http://cr.openjdk.java.net/~shade/shenandoah/partial-recycle-parallel/perf.txt >> >> Testing: hotspot_gc_shenandoah >> >> Thanks, >> -Aleksey >> From zgu at redhat.com Wed May 3 14:53:07 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 3 May 2017 10:53:07 -0400 Subject: RFR (S): Parallelize partial GC cleanup In-Reply-To: References: <0c59ffde-8bd3-9281-b32d-e5157a35a6f3@redhat.com> Message-ID: <2804c0e8-e9c8-f51b-686f-3da7cc369134@redhat.com> Ok. -Zhengyu On 05/03/2017 10:49 AM, Aleksey Shipilev wrote: > Ah! Oh! > > http://cr.openjdk.java.net/~shade/shenandoah/partial-recycle-parallel/webrev.02/ > > Thanks, > -Aleksey > > On 05/03/2017 04:20 PM, Zhengyu Gu wrote: >> >> ShenandoahCollectionSet already has claim_next() to claim regions for parallel >> processing. >> >> Thanks, >> >> -Zhengyu >> >> On 05/03/2017 10:12 AM, Aleksey Shipilev wrote: >>> Hi, >>> >>> Matrix and bitmap cleanups take significant time in partial GC. The obvious >>> solution is to parallelize it at this point, since we have mined out the >>> sequential improvements. >>> >>> Fix: >>> >>> http://cr.openjdk.java.net/~shade/shenandoah/partial-recycle-parallel/webrev.01/ >>> >>> Improves partial GC times significantly under heavy allocation pressure: >>> http://cr.openjdk.java.net/~shade/shenandoah/partial-recycle-parallel/perf.txt >>> >>> Testing: hotspot_gc_shenandoah >>> >>> Thanks, >>> -Aleksey >>> > > From ashipile at redhat.com Wed May 3 15:16:35 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 03 May 2017 15:16:35 +0000 Subject: hg: shenandoah/jdk9/hotspot: Parallelize partial GC cleanup. Message-ID: <201705031516.v43FGZmx010994@aojmv0008.oracle.com> Changeset: 25c23c6cb221 Author: shade Date: 2017-05-03 17:15 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/25c23c6cb221 Parallelize partial GC cleanup. ! src/share/vm/gc/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp From rkennke at redhat.com Wed May 3 16:58:27 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 3 May 2017 18:58:27 +0200 Subject: RFR: Degenerating update-references phase Message-ID: <9a0dbb49-bacc-bcdd-0801-25e411f47a40@redhat.com> This patch implements degenerating of update-refs phase in much the same way (and the same reasons) as we did for concurrent marking: when we run OOM during (concurrent) update-references, it seems likely that we're close to finish, and thus, instead of starting from scratch and doing a full-gc, finish updating refs under the final-update-refs-pause, and reclaim memory. When we do this, we're pessimizing adaptive heuristics, so hopefully next time we have more room and not run into this. http://cr.openjdk.java.net/~rkennke/degen-uprefs/webrev.00/ Testing: hotspot_gc_shenandoah, specjvm compiler Ok? Roman From shade at redhat.com Wed May 3 17:09:23 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 3 May 2017 19:09:23 +0200 Subject: RFR: Degenerating update-references phase In-Reply-To: <9a0dbb49-bacc-bcdd-0801-25e411f47a40@redhat.com> References: <9a0dbb49-bacc-bcdd-0801-25e411f47a40@redhat.com> Message-ID: <637545c0-7145-155c-9c6f-18cb087c56ea@redhat.com> On 05/03/2017 06:58 PM, Roman Kennke wrote: > This patch implements degenerating of update-refs phase in much the same > way (and the same reasons) as we did for concurrent marking: when we run > OOM during (concurrent) update-references, it seems likely that we're > close to finish, and thus, instead of starting from scratch and doing a > full-gc, finish updating refs under the final-update-refs-pause, and > reclaim memory. When we do this, we're pessimizing adaptive heuristics, > so hopefully next time we have more room and not run into this. > > http://cr.openjdk.java.net/~rkennke/degen-uprefs/webrev.00/ In here: 492 void optimize_free_threshold() { 493 if (_successful_cm_cycles_in_a_row > ShenandoahHappyCyclesThreshold && 494 _free_threshold > ShenandoahMinFreeThreshold) { ...it ignores _successful_uprefs_cycles_in_a_row, but called from record_uprefs_success()? Otherwise looks good to me. -Aleksey From rkennke at redhat.com Wed May 3 17:26:54 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 3 May 2017 19:26:54 +0200 Subject: RFR: Degenerating update-references phase In-Reply-To: <637545c0-7145-155c-9c6f-18cb087c56ea@redhat.com> References: <9a0dbb49-bacc-bcdd-0801-25e411f47a40@redhat.com> <637545c0-7145-155c-9c6f-18cb087c56ea@redhat.com> Message-ID: <9f5d5c13-fa01-ad1c-5f2b-b08cf6ba1b8e@redhat.com> Am 03.05.2017 um 19:09 schrieb Aleksey Shipilev: > On 05/03/2017 06:58 PM, Roman Kennke wrote: >> This patch implements degenerating of update-refs phase in much the same >> way (and the same reasons) as we did for concurrent marking: when we run >> OOM during (concurrent) update-references, it seems likely that we're >> close to finish, and thus, instead of starting from scratch and doing a >> full-gc, finish updating refs under the final-update-refs-pause, and >> reclaim memory. When we do this, we're pessimizing adaptive heuristics, >> so hopefully next time we have more room and not run into this. >> >> http://cr.openjdk.java.net/~rkennke/degen-uprefs/webrev.00/ > In here: > > 492 void optimize_free_threshold() { > 493 if (_successful_cm_cycles_in_a_row > ShenandoahHappyCyclesThreshold && > 494 _free_threshold > ShenandoahMinFreeThreshold) { > > ...it ignores _successful_uprefs_cycles_in_a_row, but called from > record_uprefs_success()? > > Otherwise looks good to me. Right. http://cr.openjdk.java.net/~rkennke/degen-uprefs/webrev.02/ Better? Roman From shade at redhat.com Wed May 3 17:29:33 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 3 May 2017 19:29:33 +0200 Subject: RFR: Degenerating update-references phase In-Reply-To: <9f5d5c13-fa01-ad1c-5f2b-b08cf6ba1b8e@redhat.com> References: <9a0dbb49-bacc-bcdd-0801-25e411f47a40@redhat.com> <637545c0-7145-155c-9c6f-18cb087c56ea@redhat.com> <9f5d5c13-fa01-ad1c-5f2b-b08cf6ba1b8e@redhat.com> Message-ID: <66795191-902f-94c3-297f-c165c0fb5de5@redhat.com> On 05/03/2017 07:26 PM, Roman Kennke wrote: > Am 03.05.2017 um 19:09 schrieb Aleksey Shipilev: >> On 05/03/2017 06:58 PM, Roman Kennke wrote: >>> This patch implements degenerating of update-refs phase in much the same >>> way (and the same reasons) as we did for concurrent marking: when we run >>> OOM during (concurrent) update-references, it seems likely that we're >>> close to finish, and thus, instead of starting from scratch and doing a >>> full-gc, finish updating refs under the final-update-refs-pause, and >>> reclaim memory. When we do this, we're pessimizing adaptive heuristics, >>> so hopefully next time we have more room and not run into this. >>> >>> http://cr.openjdk.java.net/~rkennke/degen-uprefs/webrev.00/ >> In here: >> >> 492 void optimize_free_threshold() { >> 493 if (_successful_cm_cycles_in_a_row > ShenandoahHappyCyclesThreshold && >> 494 _free_threshold > ShenandoahMinFreeThreshold) { >> >> ...it ignores _successful_uprefs_cycles_in_a_row, but called from >> record_uprefs_success()? >> >> Otherwise looks good to me. > Right. > > http://cr.openjdk.java.net/~rkennke/degen-uprefs/webrev.02/ Yup! Go! -Aleksey From roman at kennke.org Wed May 3 17:56:10 2017 From: roman at kennke.org (roman at kennke.org) Date: Wed, 03 May 2017 17:56:10 +0000 Subject: hg: shenandoah/jdk9/hotspot: Degenerating update-references phase. Message-ID: <201705031756.v43HuAME020173@aojmv0008.oracle.com> Changeset: 5230fdb749d3 Author: rkennke Date: 2017-05-03 19:54 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/5230fdb749d3 Degenerating update-references phase. ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.hpp From shade at redhat.com Thu May 4 09:07:50 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 4 May 2017 11:07:50 +0200 Subject: RFR (S): Optimize partial GC preparation Message-ID: Hi, We can massage partial GC preparation code to be more efficient. Matrix scans take the longest time there, so we want to scan the matix once, not twice. Plus other optimizations: http://cr.openjdk.java.net/~shade/shenandoah/partial-prepare-perf-2/webrev.01/ Improves performance a lot: http://cr.openjdk.java.net/~shade/shenandoah/partial-prepare-perf-2/perf.txt Testing: hotspot_gc_shenandoah Thanks, -Aleksey From roman at kennke.org Thu May 4 09:09:28 2017 From: roman at kennke.org (Roman Kennke) Date: Thu, 4 May 2017 11:09:28 +0200 Subject: RFR (S): Optimize partial GC preparation In-Reply-To: References: Message-ID: Am 04.05.2017 um 11:07 schrieb Aleksey Shipilev: > Hi, > > We can massage partial GC preparation code to be more efficient. Matrix scans > take the longest time there, so we want to scan the matix once, not twice. Plus > other optimizations: > http://cr.openjdk.java.net/~shade/shenandoah/partial-prepare-perf-2/webrev.01/ > > Improves performance a lot: > http://cr.openjdk.java.net/~shade/shenandoah/partial-prepare-perf-2/perf.txt > > Testing: hotspot_gc_shenandoah > > Thanks, > -Aleksey > > Looks good to me. Roman From ashipile at redhat.com Thu May 4 10:02:15 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Thu, 04 May 2017 10:02:15 +0000 Subject: hg: shenandoah/jdk9/hotspot: Optimize partial GC preparation. Message-ID: <201705041002.v44A2F7d009500@aojmv0008.oracle.com> Changeset: 811de2a07304 Author: shade Date: 2017-05-04 12:00 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/811de2a07304 Optimize partial GC preparation. ! src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.hpp ! src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.inline.hpp ! src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp ! src/share/vm/gc/shenandoah/shenandoahPartialGC.hpp From shade at redhat.com Thu May 4 16:50:41 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 4 May 2017 18:50:41 +0200 Subject: RFR (S): Replace ShHeapRegionSet::get with get_fast Message-ID: <95b157ff-c292-b5c7-3de9-2eda46bc376b@redhat.com> Hi, We knew from concmark performance work that the excess branch in get() costs us. It returns NULL if (idx < active). Today I reviewed all the places in Shenandoah where we call get(), and it seems almost everywhere NULL is not acceptable, leading straight to SEGV. It makes sense to use get_fast there then, or indeed rename get -> get_or_null, get_fast -> get. Fix: http://cr.openjdk.java.net/~shade/shenandoah/hrs-get/webrev.01/ Testing: hotspot_gc_shenandoah Thanks, -Aleksey From roman at kennke.org Thu May 4 17:00:28 2017 From: roman at kennke.org (Roman Kennke) Date: Thu, 4 May 2017 19:00:28 +0200 Subject: RFR (S): Replace ShHeapRegionSet::get with get_fast In-Reply-To: <95b157ff-c292-b5c7-3de9-2eda46bc376b@redhat.com> References: <95b157ff-c292-b5c7-3de9-2eda46bc376b@redhat.com> Message-ID: <1a4f5cb9-6eef-3365-70c5-4480b1b07bea@kennke.org> Am 04.05.2017 um 18:50 schrieb Aleksey Shipilev: > Hi, > > We knew from concmark performance work that the excess branch in get() costs us. > It returns NULL if (idx < active). Today I reviewed all the places in Shenandoah > where we call get(), and it seems almost everywhere NULL is not acceptable, > leading straight to SEGV. It makes sense to use get_fast there then, or indeed > rename get -> get_or_null, get_fast -> get. > > Fix: > http://cr.openjdk.java.net/~shade/shenandoah/hrs-get/webrev.01/ > > Testing: hotspot_gc_shenandoah > > Thanks, > -Aleksey > > This sounds very reasonable. Yes! Roman From ashipile at redhat.com Thu May 4 17:05:04 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Thu, 04 May 2017 17:05:04 +0000 Subject: hg: shenandoah/jdk9/hotspot: Replace ShHeapRegionSet::get with get_fast. Message-ID: <201705041705.v44H54Tg008855@aojmv0008.oracle.com> Changeset: 521309883e98 Author: shade Date: 2017-05-04 19:03 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/521309883e98 Replace ShHeapRegionSet::get with get_fast. ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/share/vm/gc/shenandoah/shenandoahFreeSet.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegionSet.cpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegionSet.hpp From rkennke at redhat.com Thu May 4 17:17:23 2017 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 4 May 2017 19:17:23 +0200 Subject: RFR: Use peak occupancy to optimize/pessimize free_threshold in adaptive heuristics Message-ID: <09784453-e9a8-ccff-b739-5b4d1a59eea2@redhat.com> Hi, Aleksey suggested this: currently we're optimizing the free-threshold after N successful GC cycles, and pessimize it whenever we run into OOM (i.e. 100% heap occupancy), thus leading us into relatively frequent degenerated marking or update-refs cycles. The idea is to pessimize earlier. That means, observe the peak occupancy (right before reclamation) and pessimize if peak occupancy is less than a threshold. Here I'm re-using ShenandoahMinFreeThreshold for this. This should balance our GC cycles around that threshold and leave some room for alloc spikes, thus leading to fewer degen cycles or full-gcs. http://cr.openjdk.java.net/~rkennke/adaptive-minfree/webrev.00/ Testing: hotspot_gc_shenandoah, specjvm-compiler Ok? From shade at redhat.com Thu May 4 17:31:25 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 4 May 2017 19:31:25 +0200 Subject: RFR: Use peak occupancy to optimize/pessimize free_threshold in adaptive heuristics In-Reply-To: <09784453-e9a8-ccff-b739-5b4d1a59eea2@redhat.com> References: <09784453-e9a8-ccff-b739-5b4d1a59eea2@redhat.com> Message-ID: On 05/04/2017 07:17 PM, Roman Kennke wrote: > That means, observe the peak occupancy (right before > reclamation) and pessimize if peak occupancy is less than a threshold. > Here I'm re-using ShenandoahMinFreeThreshold for this. This should > balance our GC cycles around that threshold and leave some room for > alloc spikes, thus leading to fewer degen cycles or full-gcs. > > http://cr.openjdk.java.net/~rkennke/adaptive-minfree/webrev.00/ Good stuff, I have zero degens on Compiler.compiler now. I think the capturing is slightly wrong though: it records occupancy at final mark and before update-refs, overwriting the value. Which means if update-refs managed to clean up enough (as they do), we may be blind about the case when there is not enough space right after the mark. That would not be visible on workloads where there is enough immediate garbage reclaimed after mark. I think we need to store MAX of observed occupancies, and reset it to zero when we claim it in heuristics. Thanks, -Aleksey From roman at kennke.org Thu May 4 17:38:03 2017 From: roman at kennke.org (Roman Kennke) Date: Thu, 4 May 2017 19:38:03 +0200 Subject: RFR: Use peak occupancy to optimize/pessimize free_threshold in adaptive heuristics In-Reply-To: References: <09784453-e9a8-ccff-b739-5b4d1a59eea2@redhat.com> Message-ID: <3a2b4a39-6f86-b801-fff6-c12a1e92eaec@kennke.org> Am 04.05.2017 um 19:31 schrieb Aleksey Shipilev: > On 05/04/2017 07:17 PM, Roman Kennke wrote: >> That means, observe the peak occupancy (right before >> reclamation) and pessimize if peak occupancy is less than a threshold. >> Here I'm re-using ShenandoahMinFreeThreshold for this. This should >> balance our GC cycles around that threshold and leave some room for >> alloc spikes, thus leading to fewer degen cycles or full-gcs. >> >> http://cr.openjdk.java.net/~rkennke/adaptive-minfree/webrev.00/ > Good stuff, I have zero degens on Compiler.compiler now. > > I think the capturing is slightly wrong though: it records occupancy at final > mark and before update-refs, overwriting the value. Which means if update-refs > managed to clean up enough (as they do), we may be blind about the case when > there is not enough space right after the mark. That would not be visible on > workloads where there is enough immediate garbage reclaimed after mark. > > I think we need to store MAX of observed occupancies, and reset it to zero when > we claim it in heuristics. Maybe. Currently we're simply always looking at the last heap occupancy, right before reclamation, and right before we would query it. Notice that we do adjust the free-threshold both after marking and after UR. E.g.: final-mark: record-peak-occupancy reclaim-regions check for optimize/pessimize final-update-refs: record-peak-occupancy reclaim-regions check for optimize/pessimize Is that not ok? For the start? ;-) From shade at redhat.com Thu May 4 17:41:47 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 4 May 2017 19:41:47 +0200 Subject: RFR: Use peak occupancy to optimize/pessimize free_threshold in adaptive heuristics In-Reply-To: <3a2b4a39-6f86-b801-fff6-c12a1e92eaec@kennke.org> References: <09784453-e9a8-ccff-b739-5b4d1a59eea2@redhat.com> <3a2b4a39-6f86-b801-fff6-c12a1e92eaec@kennke.org> Message-ID: On 05/04/2017 07:38 PM, Roman Kennke wrote: > Am 04.05.2017 um 19:31 schrieb Aleksey Shipilev: >> On 05/04/2017 07:17 PM, Roman Kennke wrote: >>> That means, observe the peak occupancy (right before >>> reclamation) and pessimize if peak occupancy is less than a threshold. >>> Here I'm re-using ShenandoahMinFreeThreshold for this. This should >>> balance our GC cycles around that threshold and leave some room for >>> alloc spikes, thus leading to fewer degen cycles or full-gcs. >>> >>> http://cr.openjdk.java.net/~rkennke/adaptive-minfree/webrev.00/ >> Good stuff, I have zero degens on Compiler.compiler now. >> >> I think the capturing is slightly wrong though: it records occupancy at final >> mark and before update-refs, overwriting the value. Which means if update-refs >> managed to clean up enough (as they do), we may be blind about the case when >> there is not enough space right after the mark. That would not be visible on >> workloads where there is enough immediate garbage reclaimed after mark. >> >> I think we need to store MAX of observed occupancies, and reset it to zero when >> we claim it in heuristics. > Maybe. > Currently we're simply always looking at the last heap occupancy, right > before reclamation, and right before we would query it. Notice that we > do adjust the free-threshold both after marking and after UR. > > E.g.: > final-mark: > record-peak-occupancy > reclaim-regions > check for optimize/pessimize > > final-update-refs: > record-peak-occupancy > reclaim-regions > check for optimize/pessimize > > Is that not ok? For the start? ;-) Um, I see this guarded with !update_refs_early(): 528 virtual void record_cm_success() { 529 ShenandoahHeuristics::record_cm_success(); 530 if (! update_refs_early()) { 531 handle_gc_success(_successful_cm_cycles_in_a_row); 532 } 533 } Which seems to tell different story: with UR enabled, we do not adjust after CM. And actually, I think it is correct to compute the max over all phases in the cycle to decide heuristics move. We only need to max, not destructively overwrite. -Aleksey From rkennke at redhat.com Thu May 4 17:46:01 2017 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 4 May 2017 19:46:01 +0200 Subject: RFR: Use peak occupancy to optimize/pessimize free_threshold in adaptive heuristics In-Reply-To: References: <09784453-e9a8-ccff-b739-5b4d1a59eea2@redhat.com> <3a2b4a39-6f86-b801-fff6-c12a1e92eaec@kennke.org> Message-ID: <973a336a-0ffc-8a66-953f-e3d718c2da22@redhat.com> Am 04.05.2017 um 19:41 schrieb Aleksey Shipilev: > On 05/04/2017 07:38 PM, Roman Kennke wrote: >> Am 04.05.2017 um 19:31 schrieb Aleksey Shipilev: >>> On 05/04/2017 07:17 PM, Roman Kennke wrote: >>>> That means, observe the peak occupancy (right before >>>> reclamation) and pessimize if peak occupancy is less than a threshold. >>>> Here I'm re-using ShenandoahMinFreeThreshold for this. This should >>>> balance our GC cycles around that threshold and leave some room for >>>> alloc spikes, thus leading to fewer degen cycles or full-gcs. >>>> >>>> http://cr.openjdk.java.net/~rkennke/adaptive-minfree/webrev.00/ >>> Good stuff, I have zero degens on Compiler.compiler now. >>> >>> I think the capturing is slightly wrong though: it records occupancy at final >>> mark and before update-refs, overwriting the value. Which means if update-refs >>> managed to clean up enough (as they do), we may be blind about the case when >>> there is not enough space right after the mark. That would not be visible on >>> workloads where there is enough immediate garbage reclaimed after mark. >>> >>> I think we need to store MAX of observed occupancies, and reset it to zero when >>> we claim it in heuristics. >> Maybe. >> Currently we're simply always looking at the last heap occupancy, right >> before reclamation, and right before we would query it. Notice that we >> do adjust the free-threshold both after marking and after UR. >> >> E.g.: >> final-mark: >> record-peak-occupancy >> reclaim-regions >> check for optimize/pessimize >> >> final-update-refs: >> record-peak-occupancy >> reclaim-regions >> check for optimize/pessimize >> >> Is that not ok? For the start? ;-) > Um, I see this guarded with !update_refs_early(): > > 528 virtual void record_cm_success() { > 529 ShenandoahHeuristics::record_cm_success(); > 530 if (! update_refs_early()) { > 531 handle_gc_success(_successful_cm_cycles_in_a_row); > 532 } > 533 } > > Which seems to tell different story: with UR enabled, we do not adjust after CM. > And actually, I think it is correct to compute the max over all phases in the > cycle to decide heuristics move. We only need to max, not destructively overwrite. ok. Like this? http://cr.openjdk.java.net/~rkennke/adaptive-minfree/webrev.01/ Roman From shade at redhat.com Thu May 4 17:51:16 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 4 May 2017 19:51:16 +0200 Subject: RFR: Use peak occupancy to optimize/pessimize free_threshold in adaptive heuristics In-Reply-To: <973a336a-0ffc-8a66-953f-e3d718c2da22@redhat.com> References: <09784453-e9a8-ccff-b739-5b4d1a59eea2@redhat.com> <3a2b4a39-6f86-b801-fff6-c12a1e92eaec@kennke.org> <973a336a-0ffc-8a66-953f-e3d718c2da22@redhat.com> Message-ID: <0b58a11f-845e-ac1e-9de9-d9b9b90b7dcd@redhat.com> On 05/04/2017 07:46 PM, Roman Kennke wrote: > Am 04.05.2017 um 19:41 schrieb Aleksey Shipilev: >> On 05/04/2017 07:38 PM, Roman Kennke wrote: >> Which seems to tell different story: with UR enabled, we do not adjust after CM. >> And actually, I think it is correct to compute the max over all phases in the >> cycle to decide heuristics move. We only need to max, not destructively overwrite. > > ok. Like this? > > http://cr.openjdk.java.net/~rkennke/adaptive-minfree/webrev.01/ Yes! Looks and runs good. This deserves the backporting to 8u, because our adopters are running with adaptive by default. Let's see what overnight runs show. Thanks, -Aleksey From roman at kennke.org Thu May 4 17:53:15 2017 From: roman at kennke.org (roman at kennke.org) Date: Thu, 04 May 2017 17:53:15 +0000 Subject: hg: shenandoah/jdk9/hotspot: Use peak occupancy to optimize/pessimize free_threshold in adaptive heuristics. Message-ID: <201705041753.v44HrFan020309@aojmv0008.oracle.com> Changeset: 8ce3d737fe20 Author: rkennke Date: 2017-05-04 19:44 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/8ce3d737fe20 Use peak occupancy to optimize/pessimize free_threshold in adaptive heuristics. ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp From shade at redhat.com Fri May 5 12:00:41 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 5 May 2017 14:00:41 +0200 Subject: RFR: Adaptive heuristics should poll all phases and update at the end of cycle Message-ID: Hi, Overnight runs discovered the problem in adaptive heuristics. It adjusts the free threshold on recording the successful CM/UR, but that means it *misses* the counters from the rest of the cycle, only to capture them (if we are lucky) on the next cycle. The answer seems to be asking the heuristics to adjust at the end of the cycle, plus do the peak polling at the end of each phase and before cleanup. Doing after each phase is important because e.g. evac phase can do more allocations without further cleanup. We also have to care about both CM and UR to be happy before reducing the free threshold. Patch: http://cr.openjdk.java.net/~shade/shenandoah/adaptive-fullcycle/webrev.01/ Coupled with printout improvements, this provides the clear view of the GC cycle: [gc,ergo] GC(13) Reducing free threshold to: 20% (2048M) ... [gc,ergo] Concurrent marking triggered. Free: 2039M, Target Free: 2048M, Allocated: 2039M, Threshold: 0M [gc ] GC(14) Pause Init Mark 1.319ms [gc ] GC(14) Concurrent marking 8204M->8908M(10240M) 873.952ms [gc,ergo] GC(14) Total Garbage: 6478M [gc,ergo] GC(14) Immediate Garbage: 36M, 9 regions [gc,ergo] GC(14) Garbage to be collected: 5715M (88% of total), 1540 regions [gc,ergo] GC(14) Live objects to be evacuated: 443M [gc,ergo] GC(14) Live/garbage ratio in collected regions: 7% [gc ] GC(14) Pause Final Mark 8908M->8880M(10240M) 10.791ms [gc ] GC(14) Concurrent evacuation 8880M->9511M(10240M) 149.953ms [gc ] GC(14) Pause Init Update Refs 9511M->9511M(10240M) 0.069ms [gc ] GC(14) Concurrent update references 9511M->9892M(10240M) 429.898ms [gc ] GC(14) Pause Final Update Refs 9892M->3733M(10240M) 1.124ms [gc ] GC(14) Concurrent reset bitmaps 7.109ms [gc,ergo] GC(14) Capacity: 10240M, Peak Occupancy: 9892M, Lowest Free: 347M, Threshold Free: 307M [gc,ergo] GC(14) Reducing free threshold to: 19% (1945M) See e.g.: heuristics triggered CM at free threshold of 2048M. Peak occupancy was at the start of final UR -- 9892M -- and that what heuristics recorded and acted upon. We know it the target free is 307M (3%) and we have more, so threshold is reduced. Testing: SPECjbb2015 Thanks, -Aleksey From rkennke at redhat.com Fri May 5 12:48:24 2017 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 05 May 2017 14:48:24 +0200 Subject: RFR: Adaptive heuristics should poll all phases and update at the end of cycle In-Reply-To: References: Message-ID: <42644BA6-E247-4A51-9468-365A3B1D472F@redhat.com> OK! Thanks! Am 5. Mai 2017 14:00:41 MESZ schrieb Aleksey Shipilev : >Hi, > >Overnight runs discovered the problem in adaptive heuristics. It >adjusts the >free threshold on recording the successful CM/UR, but that means it >*misses* the >counters from the rest of the cycle, only to capture them (if we are >lucky) on >the next cycle. > >The answer seems to be asking the heuristics to adjust at the end of >the cycle, >plus do the peak polling at the end of each phase and before cleanup. >Doing >after each phase is important because e.g. evac phase can do more >allocations >without further cleanup. We also have to care about both CM and UR to >be happy >before reducing the free threshold. > >Patch: >http://cr.openjdk.java.net/~shade/shenandoah/adaptive-fullcycle/webrev.01/ > >Coupled with printout improvements, this provides the clear view of the >GC cycle: > >[gc,ergo] GC(13) Reducing free threshold to: 20% (2048M) >... >[gc,ergo] Concurrent marking triggered. Free: 2039M, Target Free: >2048M, >Allocated: 2039M, Threshold: 0M >[gc ] GC(14) Pause Init Mark 1.319ms >[gc ] GC(14) Concurrent marking 8204M->8908M(10240M) 873.952ms >[gc,ergo] GC(14) Total Garbage: 6478M >[gc,ergo] GC(14) Immediate Garbage: 36M, 9 regions >[gc,ergo] GC(14) Garbage to be collected: 5715M (88% of total), 1540 >regions >[gc,ergo] GC(14) Live objects to be evacuated: 443M >[gc,ergo] GC(14) Live/garbage ratio in collected regions: 7% >[gc ] GC(14) Pause Final Mark 8908M->8880M(10240M) 10.791ms >[gc ] GC(14) Concurrent evacuation 8880M->9511M(10240M) 149.953ms >[gc ] GC(14) Pause Init Update Refs 9511M->9511M(10240M) 0.069ms >[gc ] GC(14) Concurrent update references 9511M->9892M(10240M) >429.898ms >[gc ] GC(14) Pause Final Update Refs 9892M->3733M(10240M) 1.124ms >[gc ] GC(14) Concurrent reset bitmaps 7.109ms >[gc,ergo] GC(14) Capacity: 10240M, Peak Occupancy: 9892M, Lowest Free: >347M, >Threshold Free: 307M >[gc,ergo] GC(14) Reducing free threshold to: 19% (1945M) > >See e.g.: heuristics triggered CM at free threshold of 2048M. Peak >occupancy was >at the start of final UR -- 9892M -- and that what heuristics recorded >and acted >upon. We know it the target free is 307M (3%) and we have more, so >threshold is >reduced. > >Testing: SPECjbb2015 > >Thanks, >-Aleksey -- Sent from my FairPhone From ashipile at redhat.com Fri May 5 13:43:25 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 05 May 2017 13:43:25 +0000 Subject: hg: shenandoah/jdk9/hotspot: Adaptive heuristics should poll all phases and update at the end of cycle. Message-ID: <201705051343.v45DhP0o014555@aojmv0008.oracle.com> Changeset: e476f38f2368 Author: shade Date: 2017-05-05 15:42 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/e476f38f2368 Adaptive heuristics should poll all phases and update at the end of cycle. ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp From ashipile at redhat.com Fri May 5 14:02:03 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 05 May 2017 14:02:03 +0000 Subject: hg: shenandoah/jdk9/hotspot: Nit: mark-compact phase 3 (Adjust Pointers) should announce itself as "Phase 3". Message-ID: <201705051402.v45E234U029757@aojmv0008.oracle.com> Changeset: 95d72291477e Author: shade Date: 2017-05-05 16:00 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/95d72291477e Nit: mark-compact phase 3 (Adjust Pointers) should announce itself as "Phase 3". ! src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp From shade at redhat.com Fri May 5 17:18:36 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 5 May 2017 19:18:36 +0200 Subject: Shenandoah allocation failure question In-Reply-To: References: Message-ID: <3065f179-0efb-1d2c-6edc-d4f23ec949de@redhat.com> (Answered it personally couple of hours ago, reposting here for posterity) On 04/30/2017 07:25 PM, Mart M?gi wrote: > I'm writing a Shenandoah log parser as part of my BSC thesis and have a > question about Allocation failure GC events. Are the following events (mark > live objects, adjust pointers, move objects) concurrent or STW? Also the last > line, Pause Full (Allocation Failure), what type of event is that? "Concurrent" means no pause. Anything starting with "Pause..." is STW. "Phase X" are the phases of Full GC, and Full GC is STW. I would probably avoid parsing "gc,phases", and parse only "gc" -- it will say "Pause Full", which is self-obvious. Thanks, -Aleksey From shade at redhat.com Fri May 5 18:51:36 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 5 May 2017 20:51:36 +0200 Subject: RFR: Deferred, batched, parallel Matrix cleanup Message-ID: <62c2acb8-bdc9-f4c7-6f5c-73af72f67d47@redhat.com> Hi, The largest problem in our Matrix implementation is the footprint and associated operation costs. With just 2K regions we have 4MB matrix that we need to at least clean up sparsely by byte at the end of some phases. With larger number of regions (e.g. to-gc1 has 8K), this problem is exacerbated further. There are three things to do: a) Defer region cleanup: this makes sure we can then... b) Batch matrix cleanups: this allows more cache-friendly cleanups, see the comment in SHMatrix::clean_batched. It is a good optimization in itself, but it also allows to... c) Parallelize matrix cleanups: lots of regions usually mean large heap, which means more threads available. This will alleviate matrix cleanup costs. Note that without batching, you cannot easily avoid false sharing there -- indeed, this is why the patch performs better than current, already parallelised recycling in partial GC. Patch: http://cr.openjdk.java.net/~shade/shenandoah/matrix-dbp/webrev.01/ Sample experiments on my desktop: http://cr.openjdk.java.net/~shade/shenandoah/matrix-dbp/perf.txt 4x faster cleanups with "default" 2K regions up to 18x faster cleanups with artificially high 32K regions Testing: hotspot_gc_shenandoah, some benchmarks Thanks, -Aleksey From rkennke at redhat.com Fri May 5 19:58:50 2017 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 05 May 2017 21:58:50 +0200 Subject: RFR: Deferred, batched, parallel Matrix cleanup In-Reply-To: <62c2acb8-bdc9-f4c7-6f5c-73af72f67d47@redhat.com> References: <62c2acb8-bdc9-f4c7-6f5c-73af72f67d47@redhat.com> Message-ID: Cool! Go! Am 5. Mai 2017 20:51:36 MESZ schrieb Aleksey Shipilev : >Hi, > >The largest problem in our Matrix implementation is the footprint and >associated >operation costs. With just 2K regions we have 4MB matrix that we need >to at >least clean up sparsely by byte at the end of some phases. With larger >number of >regions (e.g. to-gc1 has 8K), this problem is exacerbated further. > >There are three things to do: > > a) Defer region cleanup: this makes sure we can then... > >b) Batch matrix cleanups: this allows more cache-friendly cleanups, see >the >comment in SHMatrix::clean_batched. It is a good optimization in >itself, but it >also allows to... > >c) Parallelize matrix cleanups: lots of regions usually mean large >heap, which >means more threads available. This will alleviate matrix cleanup costs. >Note >that without batching, you cannot easily avoid false sharing there -- >indeed, >this is why the patch performs better than current, already >parallelised >recycling in partial GC. > >Patch: > http://cr.openjdk.java.net/~shade/shenandoah/matrix-dbp/webrev.01/ > >Sample experiments on my desktop: > http://cr.openjdk.java.net/~shade/shenandoah/matrix-dbp/perf.txt > > 4x faster cleanups with "default" 2K regions > up to 18x faster cleanups with artificially high 32K regions > >Testing: hotspot_gc_shenandoah, some benchmarks > >Thanks, >-Aleksey -- Sent from my FairPhone From zgu at redhat.com Fri May 5 20:11:50 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 5 May 2017 16:11:50 -0400 Subject: RFR(X): Reduce region retirement during tlab allocation Message-ID: <79515a64-408e-b4a7-541a-2ecba6ea7605@redhat.com> Current implementation of unsafe_max_tlab_alloc() peeks current region size in free set and tries to use its remaining space. However, the current region is very likely just been consumed with very little or no memory left, then it returns region size as fallback. This can result the calculated tlab size too big, and causes too many regions to retire while they still have fair amount of free space. When current region is too small for tlab, we can look ahead of next available region and use its size as hint. The approach seems to cut down retired region with usable space. As the result, we see less GC cycles. Ran Derby test with 1g heap. Before: http://cr.openjdk.java.net/~zgu/shenandoah/region_retirement/unpatched.stats.txt After: http://cr.openjdk.java.net/~zgu/shenandoah/region_retirement/patched.stats.txt Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/region_retirement/webrev.00/index.html Test: hotspot_gc_shenandoah. Thanks, -Zhengyu From rkennke at redhat.com Fri May 5 21:07:48 2017 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 5 May 2017 23:07:48 +0200 Subject: RFR(X): Reduce region retirement during tlab allocation In-Reply-To: <79515a64-408e-b4a7-541a-2ecba6ea7605@redhat.com> References: <79515a64-408e-b4a7-541a-2ecba6ea7605@redhat.com> Message-ID: <3df6d2c5-be1c-f530-4f33-cb5500c95160@redhat.com> Am 05.05.2017 um 22:11 schrieb Zhengyu Gu: > Current implementation of unsafe_max_tlab_alloc() peeks current region > size in free set and tries to use its remaining space. However, the > current region is very likely just been consumed with very little or > no memory left, then it returns region size as fallback. This can > result the calculated tlab size too big, and causes too many regions > to retire while they still have fair amount of free space. > > When current region is too small for tlab, we can look ahead of next > available region and use its size as hint. The approach seems to cut > down retired region with usable space. As the result, we see less GC > cycles. > > > Ran Derby test with 1g heap. > > Before: > http://cr.openjdk.java.net/~zgu/shenandoah/region_retirement/unpatched.stats.txt > > After: > http://cr.openjdk.java.net/~zgu/shenandoah/region_retirement/patched.stats.txt > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/region_retirement/webrev.00/index.html > > Test: > > hotspot_gc_shenandoah. Nice one! Please make sure you don't get funny ping-pong effects in TLAB sizing. We have seen this before. If TLAB sizing doesn't flap around, it's good to go from my side. Roman From zgu at redhat.com Fri May 5 22:26:15 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 5 May 2017 18:26:15 -0400 Subject: RFR(X): Reduce region retirement during tlab allocation In-Reply-To: <3df6d2c5-be1c-f530-4f33-cb5500c95160@redhat.com> References: <79515a64-408e-b4a7-541a-2ecba6ea7605@redhat.com> <3df6d2c5-be1c-f530-4f33-cb5500c95160@redhat.com> Message-ID: I don't see any ping-pong effects. I do see some uneven TLAB sizes, which suggest that we actually pick up those, otherwise to be retired regions. 137.832s][debug][gc,alloc] Allocate new tlab, requested size = 524288 bytes [137.833s][debug][gc,alloc] Allocate new tlab, requested size = 524288 bytes [137.834s][debug][gc,alloc] Allocate new tlab, requested size = 524288 bytes [137.838s][debug][gc,alloc] Allocate new tlab, requested size = 27704 bytes [137.838s][debug][gc,alloc] Allocate new tlab, requested size = 373640 bytes [137.926s][debug][gc,alloc] Allocate new tlab, requested size = 122944 bytes [138.034s][debug][gc,alloc] Allocate new tlab, requested size = 524288 bytes [138.041s][debug][gc,alloc] Allocate new tlab, requested size = 2656 bytes [138.042s][debug][gc,alloc] Allocate new tlab, requested size = 521632 bytes [138.090s][debug][gc,alloc] Allocate new tlab, requested size = 2688 bytes [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 521600 bytes [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 521600 bytes [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 521600 bytes [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 2688 bytes [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 521600 bytes [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 521600 bytes [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 2672 bytes [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 2696 bytes [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 2704 bytes [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 2712 bytes [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 3360 bytes OK? Thanks, -Zhengyu On 05/05/2017 05:07 PM, Roman Kennke wrote: > Am 05.05.2017 um 22:11 schrieb Zhengyu Gu: >> Current implementation of unsafe_max_tlab_alloc() peeks current region >> size in free set and tries to use its remaining space. However, the >> current region is very likely just been consumed with very little or >> no memory left, then it returns region size as fallback. This can >> result the calculated tlab size too big, and causes too many regions >> to retire while they still have fair amount of free space. >> >> When current region is too small for tlab, we can look ahead of next >> available region and use its size as hint. The approach seems to cut >> down retired region with usable space. As the result, we see less GC >> cycles. >> >> >> Ran Derby test with 1g heap. >> >> Before: >> http://cr.openjdk.java.net/~zgu/shenandoah/region_retirement/unpatched.stats.txt >> >> After: >> http://cr.openjdk.java.net/~zgu/shenandoah/region_retirement/patched.stats.txt >> >> Webrev: >> http://cr.openjdk.java.net/~zgu/shenandoah/region_retirement/webrev.00/index.html >> >> Test: >> >> hotspot_gc_shenandoah. > > Nice one! > > Please make sure you don't get funny ping-pong effects in TLAB sizing. > We have seen this before. If TLAB sizing doesn't flap around, it's good > to go from my side. > > Roman > From rkennke at redhat.com Sat May 6 07:22:49 2017 From: rkennke at redhat.com (Roman Kennke) Date: Sat, 6 May 2017 09:22:49 +0200 Subject: RFR(X): Reduce region retirement during tlab allocation In-Reply-To: References: <79515a64-408e-b4a7-541a-2ecba6ea7605@redhat.com> <3df6d2c5-be1c-f530-4f33-cb5500c95160@redhat.com> Message-ID: <495ce6cd-26d1-d0ac-be18-e5400f492bd6@redhat.com> Am 06.05.2017 um 00:26 schrieb Zhengyu Gu: > I don't see any ping-pong effects. I do see some uneven TLAB sizes, > which suggest that we actually pick up those, otherwise to be retired > regions. > > 137.832s][debug][gc,alloc] Allocate new tlab, requested size = 524288 > bytes > [137.833s][debug][gc,alloc] Allocate new tlab, requested size = 524288 > bytes > [137.834s][debug][gc,alloc] Allocate new tlab, requested size = 524288 > bytes > [137.838s][debug][gc,alloc] Allocate new tlab, requested size = 27704 > bytes > [137.838s][debug][gc,alloc] Allocate new tlab, requested size = 373640 > bytes > [137.926s][debug][gc,alloc] Allocate new tlab, requested size = 122944 > bytes > [138.034s][debug][gc,alloc] Allocate new tlab, requested size = 524288 > bytes > [138.041s][debug][gc,alloc] Allocate new tlab, requested size = 2656 > bytes > [138.042s][debug][gc,alloc] Allocate new tlab, requested size = 521632 > bytes > [138.090s][debug][gc,alloc] Allocate new tlab, requested size = 2688 > bytes > [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 521600 > bytes > [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 521600 > bytes > [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 521600 > bytes > [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 2688 > bytes > [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 521600 > bytes > [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 521600 > bytes > [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 2672 > bytes > [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 2696 > bytes > [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 2704 > bytes > [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 2712 > bytes > [138.863s][debug][gc,alloc] Allocate new tlab, requested size = 3360 > bytes > > > OK? Ok! From ashipile at redhat.com Mon May 8 11:16:07 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Mon, 08 May 2017 11:16:07 +0000 Subject: hg: shenandoah/jdk9/hotspot: Deferred, batched, parallel Matrix cleanup Message-ID: <201705081116.v48BG757028923@aojmv0008.oracle.com> Changeset: 02224ce1b0eb Author: shade Date: 2017-05-08 13:14 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/02224ce1b0eb Deferred, batched, parallel Matrix cleanup ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp ! src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegion.hpp ! src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp From zgu at redhat.com Mon May 8 11:42:47 2017 From: zgu at redhat.com (zgu at redhat.com) Date: Mon, 08 May 2017 11:42:47 +0000 Subject: hg: shenandoah/jdk9/hotspot: 2 new changesets Message-ID: <201705081142.v48Bgm0h007971@aojmv0008.oracle.com> Changeset: af42dc08a929 Author: zgu Date: 2017-05-08 07:40 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/af42dc08a929 Reduce region retirement during tlab allocation ! src/share/vm/gc/shenandoah/shenandoahFreeSet.cpp ! src/share/vm/gc/shenandoah/shenandoahFreeSet.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp Changeset: 5703aee64fd4 Author: zgu Date: 2017-05-08 07:40 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/5703aee64fd4 Merge ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp From rkennke at redhat.com Mon May 8 15:12:20 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 8 May 2017 17:12:20 +0200 Subject: RFR: Implement heuristics to switch between merged and separate update-refs phase Message-ID: <6108e4de-a725-2bc9-05f6-e081c670f1f5@redhat.com> We have two ways to update references now: during a separate phase right after evacuation and piggy-backed on subsequent marking. Doing it in a separate phase right after evac makes sense when the time to the next cycle is long: in this case it would improve cache behaviour when reading the brooks ptr, and reclaim the cset earlier and thus giving us more room to breathe. On the other hand, when pressure is high and GC cycles are running (almost) back-to-back, it's not that benefitial because it would traverse the heap twice, and we are better off to update references while we're marking. This change implements a heuristic to switch between the two modes based on pressure. It measures the gap between cycles (and keeps a short moving-window history of it) and also measures how long marking and update-refs take (incl. moving-window history) and decides whether or not to do a separate or merged update-refs phase based on that. The exact behaviour is controlled by ShenandoahMergeUpdateRefs[Min|Max]Gap arguments. I hope the description of those make any sense ;-) This also means that, at least when running with adaptive heuristics (the default), the argument -XX:+/-ShenandoahUpdateRefsEarly is unused. http://cr.openjdk.java.net/~rkennke/merge-uprefs/webrev.01/ Testing: hotspot_gc_shenandoah, specjvm-compiler Ok? Roman From shade at redhat.com Mon May 8 16:23:04 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 8 May 2017 18:23:04 +0200 Subject: RFR: Implement heuristics to switch between merged and separate update-refs phase In-Reply-To: <6108e4de-a725-2bc9-05f6-e081c670f1f5@redhat.com> References: <6108e4de-a725-2bc9-05f6-e081c670f1f5@redhat.com> Message-ID: <0c3077e6-5071-3bb5-10fd-1f5f227ae971@redhat.com> On 05/08/2017 05:12 PM, Roman Kennke wrote: > This also means that, at least when running with adaptive heuristics > (the default), the argument -XX:+/-ShenandoahUpdateRefsEarly is unused. Um. I wonder if there is an option to turn off UR unconditionally. Should we rewire that flag have three values: always-on, always-off, adaptive? > http://cr.openjdk.java.net/~rkennke/merge-uprefs/webrev.01/ This seems redundant: 672 double cycle_gap_max = _cycle_gap_history->maximum(); Otherwise good. -Aleksey From ashipile at redhat.com Mon May 8 18:52:47 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Mon, 08 May 2017 18:52:47 +0000 Subject: hg: shenandoah/jdk9/hotspot: Fix fastdebug build failure. Message-ID: <201705081852.v48IqmH0029972@aojmv0008.oracle.com> Changeset: 2446ef1af4ad Author: shade Date: 2017-05-08 20:51 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/2446ef1af4ad Fix fastdebug build failure. ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp From shade at redhat.com Mon May 8 19:23:49 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 8 May 2017 21:23:49 +0200 Subject: RFR: Purge ratio, global, connections heuristics Message-ID: <28b254b7-1f95-0ebf-933b-0232e35b2009@redhat.com> Hi, I propose we purge the heuristics that bit-rotted. We seem to only use five of them: adaptive, dynamic, passive, aggressive, and partial. The rest can be gone: http://cr.openjdk.java.net/~shade/shenandoah/remove-heuristics/webrev.01/ Testing: hotspot_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Mon May 8 19:26:51 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 8 May 2017 21:26:51 +0200 Subject: RFR: Purge ratio, global, connections heuristics In-Reply-To: <28b254b7-1f95-0ebf-933b-0232e35b2009@redhat.com> References: <28b254b7-1f95-0ebf-933b-0232e35b2009@redhat.com> Message-ID: <46be2403-d9b4-ecb6-f76e-0ab3bf29398a@redhat.com> Am 08.05.2017 um 21:23 schrieb Aleksey Shipilev: > Hi, > > I propose we purge the heuristics that bit-rotted. We seem to only use five of > them: adaptive, dynamic, passive, aggressive, and partial. > > The rest can be gone: > http://cr.openjdk.java.net/~shade/shenandoah/remove-heuristics/webrev.01/ > > Testing: hotspot_gc_shenandoah > > Thanks, > -Aleksey > Oh yes, please! Roman From zgu at redhat.com Mon May 8 19:32:22 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 8 May 2017 15:32:22 -0400 Subject: RFR(XS): Cleanup: exclude tlab/gclab allocation debug log from production Message-ID: <3499920a-81b4-13d0-d759-c0aa650d2586@redhat.com> Sneaked in in earlier push. Make it debug only. http://cr.openjdk.java.net/~zgu/shenandoah/cleanup_debug_log/webrev.00/ Thanks, -Zhengyu From ashipile at redhat.com Mon May 8 19:36:53 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Mon, 08 May 2017 19:36:53 +0000 Subject: hg: shenandoah/jdk9/hotspot: RFR: Purge ratio, global, connections heuristics. Message-ID: <201705081936.v48Jarlc016445@aojmv0008.oracle.com> Changeset: 1c716bd0e0b3 Author: shade Date: 2017-05-08 21:28 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/1c716bd0e0b3 RFR: Purge ratio, global, connections heuristics. ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoah_globals.hpp From shade at redhat.com Mon May 8 19:35:40 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 8 May 2017 21:35:40 +0200 Subject: RFR(XS): Cleanup: exclude tlab/gclab allocation debug log from production In-Reply-To: <3499920a-81b4-13d0-d759-c0aa650d2586@redhat.com> References: <3499920a-81b4-13d0-d759-c0aa650d2586@redhat.com> Message-ID: On 05/08/2017 09:32 PM, Zhengyu Gu wrote: > Sneaked in in earlier push. Make it debug only. > > http://cr.openjdk.java.net/~zgu/shenandoah/cleanup_debug_log/webrev.00/ +1 -Aleksey From rkennke at redhat.com Mon May 8 19:52:34 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 8 May 2017 21:52:34 +0200 Subject: RFR: Implement heuristics to switch between merged and separate update-refs phase In-Reply-To: <0c3077e6-5071-3bb5-10fd-1f5f227ae971@redhat.com> References: <6108e4de-a725-2bc9-05f6-e081c670f1f5@redhat.com> <0c3077e6-5071-3bb5-10fd-1f5f227ae971@redhat.com> Message-ID: <7d19c2ec-329b-aaca-4015-ae24afbc5ea9@redhat.com> Am 08.05.2017 um 18:23 schrieb Aleksey Shipilev: > On 05/08/2017 05:12 PM, Roman Kennke wrote: >> This also means that, at least when running with adaptive heuristics >> (the default), the argument -XX:+/-ShenandoahUpdateRefsEarly is unused. > Um. I wonder if there is an option to turn off UR unconditionally. Should we > rewire that flag have three values: always-on, always-off, adaptive? Like this ? http://cr.openjdk.java.net/~rkennke/merge-uprefs/webrev.02/ it takes 'true' / 'on', 'false', 'off' and 'adaptive'. Under adaptive heuristics, it defaults to adaptive, otherwise to true. It prints a warning when attempting 'adaptive' on non-adaptive heuristics (mostly because we need to call the same constructor from Adaptive), fails on other values. Roman From shade at redhat.com Mon May 8 19:57:00 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 8 May 2017 21:57:00 +0200 Subject: RFR: Implement heuristics to switch between merged and separate update-refs phase In-Reply-To: <7d19c2ec-329b-aaca-4015-ae24afbc5ea9@redhat.com> References: <6108e4de-a725-2bc9-05f6-e081c670f1f5@redhat.com> <0c3077e6-5071-3bb5-10fd-1f5f227ae971@redhat.com> <7d19c2ec-329b-aaca-4015-ae24afbc5ea9@redhat.com> Message-ID: <9daa06ab-f5e5-494c-90b8-a1332e97f211@redhat.com> On 05/08/2017 09:52 PM, Roman Kennke wrote: > Am 08.05.2017 um 18:23 schrieb Aleksey Shipilev: >> On 05/08/2017 05:12 PM, Roman Kennke wrote: >>> This also means that, at least when running with adaptive heuristics >>> (the default), the argument -XX:+/-ShenandoahUpdateRefsEarly is unused. >> Um. I wonder if there is an option to turn off UR unconditionally. Should we >> rewire that flag have three values: always-on, always-off, adaptive? > > Like this ? > > http://cr.openjdk.java.net/~rkennke/merge-uprefs/webrev.02/ *) Um. AdaptiveHeuristics() would still execute ShenandoahHeuristics(), right? Which will then print the warning message? 227 } else if (strcmp(ShenandoahUpdateRefsEarly, "adaptive") == 0) { 228 log_warning(gc)("-XX:ShenandoahUpdateRefsEarly=adaptive only useful with -XX:ShenandoahGCHeuristics=adaptive. Defaulting to 'true' instead."); 229 _update_refs_early = true; *) Leftover: 588 tty->print_cr("last cycle gap: %f ms", last_cycle_gap); Otherwise seems fine. -Aleksey From zgu at redhat.com Mon May 8 20:00:33 2017 From: zgu at redhat.com (zgu at redhat.com) Date: Mon, 08 May 2017 20:00:33 +0000 Subject: hg: shenandoah/jdk9/hotspot: Cleanup: exclude tlab/gclab allocation debug log from production Message-ID: <201705082000.v48K0XMA023553@aojmv0008.oracle.com> Changeset: baf2a720166c Author: zgu Date: 2017-05-08 15:25 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/baf2a720166c Cleanup: exclude tlab/gclab allocation debug log from production ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp From rkennke at redhat.com Mon May 8 20:23:15 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 8 May 2017 22:23:15 +0200 Subject: RFR: Implement heuristics to switch between merged and separate update-refs phase In-Reply-To: <9daa06ab-f5e5-494c-90b8-a1332e97f211@redhat.com> References: <6108e4de-a725-2bc9-05f6-e081c670f1f5@redhat.com> <0c3077e6-5071-3bb5-10fd-1f5f227ae971@redhat.com> <7d19c2ec-329b-aaca-4015-ae24afbc5ea9@redhat.com> <9daa06ab-f5e5-494c-90b8-a1332e97f211@redhat.com> Message-ID: <3e1f4fea-365d-e446-a2e4-f0c0b97fc8ff@redhat.com> Am 08.05.2017 um 21:57 schrieb Aleksey Shipilev: > On 05/08/2017 09:52 PM, Roman Kennke wrote: >> Am 08.05.2017 um 18:23 schrieb Aleksey Shipilev: >>> On 05/08/2017 05:12 PM, Roman Kennke wrote: >>>> This also means that, at least when running with adaptive heuristics >>>> (the default), the argument -XX:+/-ShenandoahUpdateRefsEarly is unused. >>> Um. I wonder if there is an option to turn off UR unconditionally. Should we >>> rewire that flag have three values: always-on, always-off, adaptive? >> Like this ? >> >> http://cr.openjdk.java.net/~rkennke/merge-uprefs/webrev.02/ > *) Um. AdaptiveHeuristics() would still execute ShenandoahHeuristics(), right? > Which will then print the warning message? > > 227 } else if (strcmp(ShenandoahUpdateRefsEarly, "adaptive") == 0) { > 228 log_warning(gc)("-XX:ShenandoahUpdateRefsEarly=adaptive only useful > with -XX:ShenandoahGCHeuristics=adaptive. Defaulting to 'true' instead."); > 229 _update_refs_early = true; Duh. Ok, I moved it all into ShenandoahHeuristics constructor now. Life's too short. > *) Leftover: > > 588 tty->print_cr("last cycle gap: %f ms", last_cycle_gap); > > Otherwise seems fine. Removed. http://cr.openjdk.java.net/~rkennke/merge-uprefs/webrev.03/ Ok now? Roman From shade at redhat.com Mon May 8 20:24:48 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 8 May 2017 22:24:48 +0200 Subject: RFR: Implement heuristics to switch between merged and separate update-refs phase In-Reply-To: <3e1f4fea-365d-e446-a2e4-f0c0b97fc8ff@redhat.com> References: <6108e4de-a725-2bc9-05f6-e081c670f1f5@redhat.com> <0c3077e6-5071-3bb5-10fd-1f5f227ae971@redhat.com> <7d19c2ec-329b-aaca-4015-ae24afbc5ea9@redhat.com> <9daa06ab-f5e5-494c-90b8-a1332e97f211@redhat.com> <3e1f4fea-365d-e446-a2e4-f0c0b97fc8ff@redhat.com> Message-ID: On 05/08/2017 10:23 PM, Roman Kennke wrote: > Am 08.05.2017 um 21:57 schrieb Aleksey Shipilev: >> On 05/08/2017 09:52 PM, Roman Kennke wrote: >>> Am 08.05.2017 um 18:23 schrieb Aleksey Shipilev: >>>> On 05/08/2017 05:12 PM, Roman Kennke wrote: >>>>> This also means that, at least when running with adaptive heuristics >>>>> (the default), the argument -XX:+/-ShenandoahUpdateRefsEarly is unused. >>>> Um. I wonder if there is an option to turn off UR unconditionally. Should we >>>> rewire that flag have three values: always-on, always-off, adaptive? >>> Like this ? >>> >>> http://cr.openjdk.java.net/~rkennke/merge-uprefs/webrev.02/ >> *) Um. AdaptiveHeuristics() would still execute ShenandoahHeuristics(), right? >> Which will then print the warning message? >> >> 227 } else if (strcmp(ShenandoahUpdateRefsEarly, "adaptive") == 0) { >> 228 log_warning(gc)("-XX:ShenandoahUpdateRefsEarly=adaptive only useful >> with -XX:ShenandoahGCHeuristics=adaptive. Defaulting to 'true' instead."); >> 229 _update_refs_early = true; > Duh. > > Ok, I moved it all into ShenandoahHeuristics constructor now. Life's too > short. > >> *) Leftover: >> >> 588 tty->print_cr("last cycle gap: %f ms", last_cycle_gap); >> >> Otherwise seems fine. > Removed. > > http://cr.openjdk.java.net/~rkennke/merge-uprefs/webrev.03/ > > > Ok now? OK. -Aleksey From roman at kennke.org Mon May 8 20:34:09 2017 From: roman at kennke.org (roman at kennke.org) Date: Mon, 08 May 2017 20:34:09 +0000 Subject: hg: shenandoah/jdk9/hotspot: Implement heuristics to switch between merged and separate update-refs phase. Message-ID: <201705082034.v48KY9aj005442@aojmv0008.oracle.com> Changeset: 6db19c2a2a18 Author: rkennke Date: 2017-05-08 22:29 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/6db19c2a2a18 Implement heuristics to switch between merged and separate update-refs phase. ! src/share/vm/gc/shenandoah/shenandoahBarrierSet.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc/shenandoah/shenandoah_globals.hpp From rkennke at redhat.com Tue May 9 10:21:12 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 9 May 2017 12:21:12 +0200 Subject: RFR: Fix merged update refs Message-ID: <08e2b1c6-4ad0-74a4-ba67-2a9345075c67@redhat.com> I made a little mistake yesterday when I moved flag initialization into ShenandoahHeuristic: I forgot to remove the _update_refs_adaptive field in AdaptiveHeuristic, and this one overrides the same field in ShenandoahHeuristics. Problem is the forgotten field never gets initialized and is always false. http://cr.openjdk.java.net/~rkennke/fix-merge-uprefs/webrev.00/ Ok? Roman From shade at redhat.com Tue May 9 10:23:16 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 9 May 2017 12:23:16 +0200 Subject: RFR: Fix merged update refs In-Reply-To: <08e2b1c6-4ad0-74a4-ba67-2a9345075c67@redhat.com> References: <08e2b1c6-4ad0-74a4-ba67-2a9345075c67@redhat.com> Message-ID: <11c40144-b3d2-f587-fb3e-e20b243c41b2@redhat.com> On 05/09/2017 12:21 PM, Roman Kennke wrote: > I made a little mistake yesterday when I moved flag initialization into > ShenandoahHeuristic: I forgot to remove the _update_refs_adaptive field > in AdaptiveHeuristic, and this one overrides the same field in > ShenandoahHeuristics. Problem is the forgotten field never gets > initialized and is always false. > > http://cr.openjdk.java.net/~rkennke/fix-merge-uprefs/webrev.00/ > > > Ok? OK. -Aleksey From roman at kennke.org Tue May 9 10:27:49 2017 From: roman at kennke.org (roman at kennke.org) Date: Tue, 09 May 2017 10:27:49 +0000 Subject: hg: shenandoah/jdk9/hotspot: Fix merged update refs. Message-ID: <201705091027.v49ARnCr008634@aojmv0008.oracle.com> Changeset: 4ee5b7c8a8ac Author: rkennke Date: 2017-05-09 12:26 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/4ee5b7c8a8ac Fix merged update refs. ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp From ashipile at redhat.com Tue May 9 10:47:44 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 10:47:44 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Purge ShenandoahVerify(Reads|Writes)ToFromSpace. Message-ID: <201705091047.v49AliQD016178@aojmv0008.oracle.com> Changeset: 7a9e5d350f60 Author: shade Date: 2017-05-09 12:46 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/7a9e5d350f60 [backport] Purge ShenandoahVerify(Reads|Writes)ToFromSpace. ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/shenandoahBarrierSet_aarch64.cpp ! src/cpu/aarch64/vm/templateTable_aarch64.cpp ! src/cpu/aarch64/vm/vtableStubs_aarch64.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/shenandoahBarrierSet_x86.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/gc_implementation/shenandoah/brooksPointer.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/parseHelper.cpp ! src/share/vm/runtime/handles.cpp ! src/share/vm/runtime/safepoint.cpp From ashipile at redhat.com Tue May 9 11:19:42 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 11:19:42 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Purge ratio, global, connections heuristics. Message-ID: <201705091119.v49BJgcA028044@aojmv0008.oracle.com> Changeset: 1a6cbe12d5d2 Author: shade Date: 2017-05-09 13:18 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/1a6cbe12d5d2 [backport] Purge ratio, global, connections heuristics. ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp From ashipile at redhat.com Tue May 9 11:30:36 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 11:30:36 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Reduce region retirement during tlab allocation Message-ID: <201705091130.v49BUajw001042@aojmv0008.oracle.com> Changeset: 577aaacece0c Author: shade Date: 2017-05-09 13:29 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/577aaacece0c [backport] Reduce region retirement during tlab allocation ! src/share/vm/gc_implementation/shenandoah/shenandoahFreeSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahFreeSet.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp From ashipile at redhat.com Tue May 9 11:34:48 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 11:34:48 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Nit: mark-compact phase 3 (Adjust Pointers) should announce itself as "Phase 3" Message-ID: <201705091134.v49BYmQV003637@aojmv0008.oracle.com> Changeset: 55bf3165ec19 Author: shade Date: 2017-05-09 13:32 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/55bf3165ec19 [backport] Nit: mark-compact phase 3 (Adjust Pointers) should announce itself as "Phase 3" ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp From ashipile at redhat.com Tue May 9 11:40:06 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 11:40:06 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Replace ShHeapRegionSet::get with get_fast Message-ID: <201705091140.v49Be7mo004913@aojmv0008.oracle.com> Changeset: dccfc0e25ac1 Author: shade Date: 2017-05-09 13:38 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/dccfc0e25ac1 [backport] Replace ShHeapRegionSet::get with get_fast ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahFreeSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionSet.hpp From ashipile at redhat.com Tue May 9 12:05:57 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 12:05:57 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Remove obsolete compile_resolve_oop_runtime() methods Message-ID: <201705091205.v49C5vTS021356@aojmv0008.oracle.com> Changeset: 3e3efd9ac8ea Author: shade Date: 2017-05-09 14:04 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/3e3efd9ac8ea [backport] Remove obsolete compile_resolve_oop_runtime() methods ! src/cpu/aarch64/vm/shenandoahBarrierSet_aarch64.cpp ! src/cpu/x86/vm/shenandoahBarrierSet_x86.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.hpp From ashipile at redhat.com Tue May 9 12:17:26 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 12:17:26 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Use CollectedHeap::base() instead of ShenandoahHeap::first_region_bottom() Message-ID: <201705091217.v49CHQYX025292@aojmv0008.oracle.com> Changeset: ca75b384657b Author: shade Date: 2017-05-09 14:16 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/ca75b384657b [backport] Use CollectedHeap::base() instead of ShenandoahHeap::first_region_bottom() ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp From ashipile at redhat.com Tue May 9 12:18:33 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 12:18:33 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Purge ealier version of redefined classes during class unloading Message-ID: <201705091218.v49CIXBS026201@aojmv0008.oracle.com> Changeset: 3b94577c3a35 Author: shade Date: 2017-05-09 14:17 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/3b94577c3a35 [backport] Purge ealier version of redefined classes during class unloading ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp From ashipile at redhat.com Tue May 9 14:14:08 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 14:14:08 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Cleanup class unloading and string intern code Message-ID: <201705091414.v49EE8GH005952@aojmv0008.oracle.com> Changeset: bf8135bae459 Author: shade Date: 2017-05-09 16:12 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/bf8135bae459 [backport] Cleanup class unloading and string intern code ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp + test/gc/shenandoah/StringInternCleanup.java From ashipile at redhat.com Tue May 9 14:25:27 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 14:25:27 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Rename final mark operations Message-ID: <201705091425.v49EPRgD011986@aojmv0008.oracle.com> Changeset: 684602c7f1c7 Author: shade Date: 2017-05-09 16:24 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/684602c7f1c7 [backport] Rename final mark operations ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc_implementation/shenandoah/vm_operations_shenandoah.cpp ! src/share/vm/gc_implementation/shenandoah/vm_operations_shenandoah.hpp ! src/share/vm/runtime/vm_operations.hpp From zgu at redhat.com Tue May 9 14:32:31 2017 From: zgu at redhat.com (zgu at redhat.com) Date: Tue, 09 May 2017 14:32:31 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 2 new changesets Message-ID: <201705091432.v49EWVuj015662@aojmv0008.oracle.com> Changeset: d82ce8930615 Author: zgu Date: 2017-05-09 10:26 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/d82ce8930615 Refactor parallel ClassLoaderData iterator ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.hpp Changeset: ca1272daca44 Author: zgu Date: 2017-05-09 10:31 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/ca1272daca44 Merge ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp From ashipile at redhat.com Tue May 9 14:42:15 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 14:42:15 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Clean up unused fields and methods Message-ID: <201705091442.v49EgFF2018684@aojmv0008.oracle.com> Changeset: b7f4f2c895a4 Author: shade Date: 2017-05-09 16:40 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/b7f4f2c895a4 [backport] Clean up unused fields and methods ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectionSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMonitoringSupport.cpp From ashipile at redhat.com Tue May 9 14:52:31 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 14:52:31 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 3 new changesets Message-ID: <201705091452.v49EqVCA023363@aojmv0008.oracle.com> Changeset: 757394cdeeea Author: shade Date: 2017-05-09 16:42 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/757394cdeeea [backport] Make sure new_active_workers is used ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp Changeset: 86874ad49130 Author: shade Date: 2017-05-09 16:42 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/86874ad49130 [backport] Correct prefetch offset for marked object iteration ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp Changeset: cdfd5cc5603d Author: shade Date: 2017-05-09 16:48 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/cdfd5cc5603d [backport] Total pauses should include final-mark pauses ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/vm_operations_shenandoah.cpp From ashipile at redhat.com Tue May 9 15:08:00 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 15:08:00 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Report correct total garbage data. Print out garbage and cset data with -Xlog:gc+ergo Message-ID: <201705091508.v49F8076029260@aojmv0008.oracle.com> Changeset: b05549242c01 Author: shade Date: 2017-05-09 17:01 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/b05549242c01 [backport] Report correct total garbage data. Print out garbage and cset data with -Xlog:gc+ergo ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp From ashipile at redhat.com Tue May 9 15:36:19 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 15:36:19 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Deferred region cleanup. Message-ID: <201705091536.v49FaJ0Z010665@aojmv0008.oracle.com> Changeset: e65a9aa209c5 Author: shade Date: 2017-05-09 17:35 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/e65a9aa209c5 [backport] Deferred region cleanup. ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp From ashipile at redhat.com Tue May 9 15:45:38 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 15:45:38 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Use lock version heap region memory allocator Message-ID: <201705091545.v49FjcZW013627@aojmv0008.oracle.com> Changeset: 156a54575174 Author: shade Date: 2017-05-09 17:44 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/156a54575174 [backport] Use lock version heap region memory allocator ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.inline.hpp From ashipile at redhat.com Tue May 9 15:54:08 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 15:54:08 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Heap memory usage counting not longer needs to be atomic Message-ID: <201705091554.v49Fs90U017730@aojmv0008.oracle.com> Changeset: cc8e01c92e0e Author: shade Date: 2017-05-09 17:52 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/cc8e01c92e0e [backport] Heap memory usage counting not longer needs to be atomic ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp From ashipile at redhat.com Tue May 9 16:19:56 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 16:19:56 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Update statistics to capture thread data accurately Message-ID: <201705091619.v49GJuD8028311@aojmv0008.oracle.com> Changeset: 78e1ffe1fbc6 Author: shade Date: 2017-05-09 18:15 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/78e1ffe1fbc6 [backport] Update statistics to capture thread data accurately ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp From ashipile at redhat.com Tue May 9 16:31:48 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 16:31:48 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Update ShenandoahHeapSampling to avoid double counting. Message-ID: <201705091631.v49GVm29002949@aojmv0008.oracle.com> Changeset: 836fc0675cfb Author: shade Date: 2017-05-09 18:30 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/836fc0675cfb [backport] Update ShenandoahHeapSampling to avoid double counting. ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionCounters.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionCounters.hpp From ashipile at redhat.com Tue May 9 16:56:55 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 09 May 2017 16:56:55 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 2 new changesets Message-ID: <201705091656.v49GuujL013519@aojmv0008.oracle.com> Changeset: 87b5e4b7012a Author: shade Date: 2017-05-09 18:48 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/87b5e4b7012a [backport] ShenandoahHeap::evacuate_object() with boolean result flag. ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp Changeset: 001500bca1ad Author: shade Date: 2017-05-09 18:55 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/001500bca1ad [backport] Cleanup duplicated Shenandoah task queue declarations ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahOopClosures.hpp From rkennke at redhat.com Tue May 9 17:14:30 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 9 May 2017 19:14:30 +0200 Subject: RFR (8u-backport): Implement early update references phase Message-ID: This is a straight backport of the early update references phase and all related code from JDK9. http://cr.openjdk.java.net/~rkennke/backport-uprefs/webrev.00/ Testing: hotspot_gc_shenandoah, specjvm compiler Ok? From shade at redhat.com Tue May 9 17:24:47 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 9 May 2017 19:24:47 +0200 Subject: RFR (8u-backport): Implement early update references phase In-Reply-To: References: Message-ID: <8ea5f5ee-8d8f-4db9-86f3-961d2b5f0afb@redhat.com> On 05/09/2017 07:14 PM, Roman Kennke wrote: > This is a straight backport of the early update references phase and all > related code from JDK9. > > http://cr.openjdk.java.net/~rkennke/backport-uprefs/webrev.00/ > > > Testing: hotspot_gc_shenandoah, specjvm compiler > > Ok? Nice and tidy, thanks. Comparing with 9, these are the interesting differences, which might be good to fix in this iteration: *) ShenandoahHeuristics::record_gc_start/end() seem to be missing? *) ShenandoahHeap::update_refs_in_progress_addr() seems to be missing? Thanks, -Aleksey From rkennke at redhat.com Tue May 9 19:02:35 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 9 May 2017 21:02:35 +0200 Subject: RFR (8u-backport): Implement early update references phase In-Reply-To: <8ea5f5ee-8d8f-4db9-86f3-961d2b5f0afb@redhat.com> References: <8ea5f5ee-8d8f-4db9-86f3-961d2b5f0afb@redhat.com> Message-ID: <6a31f2be-02f3-1eb2-ad6b-682f6c8c7e91@redhat.com> Am 09.05.2017 um 19:24 schrieb Aleksey Shipilev: > On 05/09/2017 07:14 PM, Roman Kennke wrote: >> This is a straight backport of the early update references phase and all >> related code from JDK9. >> >> http://cr.openjdk.java.net/~rkennke/backport-uprefs/webrev.00/ >> >> >> Testing: hotspot_gc_shenandoah, specjvm compiler >> >> Ok? > Nice and tidy, thanks. > > Comparing with 9, these are the interesting differences, which might be good to > fix in this iteration: > > *) ShenandoahHeuristics::record_gc_start/end() seem to be missing? This one seems to be used only for partial GC. However, it looks more consistent in this iteration. Added. > *) ShenandoahHeap::update_refs_in_progress_addr() seems to be missing? Similar: this is only used for the improved store checks, but looks more consistent here. Added too. I also added heap occupancy logging for the update refs pause, as present in jdk9. http://cr.openjdk.java.net/~rkennke/backport-uprefs/webrev.01/ Ok? Roman From shade at redhat.com Tue May 9 19:10:11 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 9 May 2017 21:10:11 +0200 Subject: RFR (8u-backport): Implement early update references phase In-Reply-To: <6a31f2be-02f3-1eb2-ad6b-682f6c8c7e91@redhat.com> References: <8ea5f5ee-8d8f-4db9-86f3-961d2b5f0afb@redhat.com> <6a31f2be-02f3-1eb2-ad6b-682f6c8c7e91@redhat.com> Message-ID: <1da488b0-0938-9137-5fb3-d01e5d25a7a7@redhat.com> On 05/09/2017 09:02 PM, Roman Kennke wrote: > Am 09.05.2017 um 19:24 schrieb Aleksey Shipilev: >> On 05/09/2017 07:14 PM, Roman Kennke wrote: >>> This is a straight backport of the early update references phase and all >>> related code from JDK9. >>> >>> http://cr.openjdk.java.net/~rkennke/backport-uprefs/webrev.00/ >>> >>> >>> Testing: hotspot_gc_shenandoah, specjvm compiler >>> >>> Ok? >> Nice and tidy, thanks. >> >> Comparing with 9, these are the interesting differences, which might be good to >> fix in this iteration: >> >> *) ShenandoahHeuristics::record_gc_start/end() seem to be missing? > This one seems to be used only for partial GC. However, it looks more > consistent in this iteration. Added. > >> *) ShenandoahHeap::update_refs_in_progress_addr() seems to be missing? > Similar: this is only used for the improved store checks, but looks more > consistent here. Added too. > > I also added heap occupancy logging for the update refs pause, as > present in jdk9. > > http://cr.openjdk.java.net/~rkennke/backport-uprefs/webrev.01/ > > > Ok? OK! Thanks, -Aleksey From roman at kennke.org Tue May 9 19:17:10 2017 From: roman at kennke.org (roman at kennke.org) Date: Tue, 09 May 2017 19:17:10 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Implement early update references phase. Message-ID: <201705091917.v49JHAmO021032@aojmv0008.oracle.com> Changeset: 885d7935a37a Author: rkennke Date: 2017-03-28 17:22 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/885d7935a37a [backport] Implement early update references phase. ! src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionCounters.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionCounters.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahOopClosures.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahOopClosures.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_specialized_oop_closures.hpp ! src/share/vm/gc_implementation/shenandoah/vm_operations_shenandoah.cpp ! src/share/vm/gc_implementation/shenandoah/vm_operations_shenandoah.hpp ! src/share/vm/runtime/vm_operations.hpp From ashipile at redhat.com Wed May 10 09:44:49 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 10 May 2017 09:44:49 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 2 new changesets Message-ID: <201705100944.v4A9inJZ007907@aojmv0008.oracle.com> Changeset: c16f21704912 Author: shade Date: 2017-05-10 11:38 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/c16f21704912 [backport] Relax assert to not fire at safepoint ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp Changeset: 756713991d8f Author: shade Date: 2017-05-10 11:42 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/756713991d8f [backport] Fix DerivedPointerTable handling when scanning roots twice in init-evac phase ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp From ashipile at redhat.com Wed May 10 10:19:13 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 10 May 2017 10:19:13 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Heap/matrix verification for all reachable objects Message-ID: <201705101019.v4AAJDv7020283@aojmv0008.oracle.com> Changeset: ecc0f7d24e16 Author: shade Date: 2017-05-10 12:17 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/ecc0f7d24e16 [backport] Heap/matrix verification for all reachable objects ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp From shade at redhat.com Wed May 10 10:25:11 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 10 May 2017 12:25:11 +0200 Subject: RFR 9/8u: Print heap changes in phases that actually change heap Message-ID: <8d6147ce-785b-fa80-c3a9-345ca01293c6@redhat.com> Hi, I think it makes sense to print heap changes only for phases that change heap occupancy. This means demoting Init-UR, and promoting Conc Reset Bitmaps: diff -r 4ee5b7c8a8ac src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp --- a/src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp Tue May 09 12:26:31 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp Wed May 10 12:24:22 2017 +0200 @@ -244,7 +244,7 @@ { - GCTraceTime(Info, gc) time("Concurrent reset bitmaps", gc_timer, GCCause::_no_gc); + GCTraceTime(Info, gc) time("Concurrent reset bitmaps", gc_timer, GCCause::_no_gc, true); diff -r 4ee5b7c8a8ac src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp --- a/src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp Tue May 09 12:26:31 2017 +0200 +++ b/src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp Wed May 10 12:24:22 2017 +0200 @@ -147,7 +147,7 @@ void VM_ShenandoahInitUpdateRefs::doit() { GCIdMark gc_id_mark(_gc_id); ShenandoahHeap *sh = ShenandoahHeap::heap(); - GCTraceTime(Info, gc) time("Pause Init Update Refs", sh->gc_timer(), GCCause::_no_gc, true); + GCTraceTime(Info, gc) time("Pause Init Update Refs", sh->gc_timer(), GCCause::_no_gc); Will look like this: [info][gc] GC(3) Pause Init Mark 0.481ms [info][gc] GC(3) Concurrent marking 3698M->3704M(4096M) 2.087ms [info][gc] GC(3) Pause Final Mark 3704M->182M(4096M) 1.778ms [info][gc] GC(3) Concurrent evacuation 184M->198M(4096M) 1.029ms [info][gc] GC(3) Pause Init Update Refs 0.019ms [info][gc] GC(3) Concurrent update references 200M->206M(4096M) 1.760ms [info][gc] GC(3) Pause Final Update Refs 206M->48M(4096M) 0.409ms [info][gc] GC(3) Concurrent reset bitmaps 48M->48M(4096M) 0.081ms The mirror patch goes to 8u. Thanks, -Aleksey From rkennke at redhat.com Wed May 10 10:49:32 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 10 May 2017 12:49:32 +0200 Subject: RFR 9/8u: Print heap changes in phases that actually change heap In-Reply-To: <8d6147ce-785b-fa80-c3a9-345ca01293c6@redhat.com> References: <8d6147ce-785b-fa80-c3a9-345ca01293c6@redhat.com> Message-ID: <061a2e89-f31e-0fbd-fdff-e139d5300d11@redhat.com> Am 10.05.2017 um 12:25 schrieb Aleksey Shipilev: > Hi, > > I think it makes sense to print heap changes only for phases that change heap > occupancy. This means demoting Init-UR, and promoting Conc Reset Bitmaps: > > diff -r 4ee5b7c8a8ac src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp > --- a/src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp Tue May 09 > 12:26:31 2017 +0200 > +++ b/src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp Wed May 10 > 12:24:22 2017 +0200 > @@ -244,7 +244,7 @@ > > { > - GCTraceTime(Info, gc) time("Concurrent reset bitmaps", gc_timer, > GCCause::_no_gc); > + GCTraceTime(Info, gc) time("Concurrent reset bitmaps", gc_timer, > GCCause::_no_gc, true); > > diff -r 4ee5b7c8a8ac src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp > --- a/src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp Tue May 09 > 12:26:31 2017 +0200 > +++ b/src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp Wed May 10 > 12:24:22 2017 +0200 > @@ -147,7 +147,7 @@ > void VM_ShenandoahInitUpdateRefs::doit() { > GCIdMark gc_id_mark(_gc_id); > ShenandoahHeap *sh = ShenandoahHeap::heap(); > - GCTraceTime(Info, gc) time("Pause Init Update Refs", sh->gc_timer(), > GCCause::_no_gc, true); > + GCTraceTime(Info, gc) time("Pause Init Update Refs", sh->gc_timer(), > GCCause::_no_gc); > > Will look like this: > > [info][gc] GC(3) Pause Init Mark 0.481ms > [info][gc] GC(3) Concurrent marking 3698M->3704M(4096M) 2.087ms > [info][gc] GC(3) Pause Final Mark 3704M->182M(4096M) 1.778ms > [info][gc] GC(3) Concurrent evacuation 184M->198M(4096M) 1.029ms > [info][gc] GC(3) Pause Init Update Refs 0.019ms > [info][gc] GC(3) Concurrent update references 200M->206M(4096M) 1.760ms > [info][gc] GC(3) Pause Final Update Refs 206M->48M(4096M) 0.409ms > [info][gc] GC(3) Concurrent reset bitmaps 48M->48M(4096M) 0.081ms > > The mirror patch goes to 8u. Yep! From ashipile at redhat.com Wed May 10 10:51:18 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 10 May 2017 10:51:18 +0000 Subject: hg: shenandoah/jdk9/hotspot: Print heap changes in phases that actually change heap occupancy Message-ID: <201705101051.v4AApIYu000644@aojmv0008.oracle.com> Changeset: 783aaa07ce76 Author: shade Date: 2017-05-10 12:30 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/783aaa07ce76 Print heap changes in phases that actually change heap occupancy ! src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp From ashipile at redhat.com Wed May 10 10:51:24 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 10 May 2017 10:51:24 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Print heap changes in phases that actually change heap occupancy Message-ID: <201705101051.v4AApOID000737@aojmv0008.oracle.com> Changeset: 0076322a406c Author: shade Date: 2017-05-10 12:30 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/0076322a406c [backport] Print heap changes in phases that actually change heap occupancy ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc_implementation/shenandoah/vm_operations_shenandoah.cpp From shade at redhat.com Wed May 10 10:58:39 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 10 May 2017 12:58:39 +0200 Subject: RFR [8u]: Backport parallel code cache scanning Message-ID: <5ad35c31-66f6-5e20-223a-a5245994399d@redhat.com> Hi, We know workloads that have lots of compiled code, and there parallel code cache scans are beneficial. Let's backport it from 9 to 8u: http://cr.openjdk.java.net/~shade/shenandoah/parallel-codecache-8u/webrev.01/ Testing: hotspot_gc_shenandoah, jcstress -m quick Thanks, -Aleksey From roman at kennke.org Wed May 10 11:35:40 2017 From: roman at kennke.org (Roman Kennke) Date: Wed, 10 May 2017 13:35:40 +0200 Subject: RFR [8u]: Backport parallel code cache scanning In-Reply-To: <5ad35c31-66f6-5e20-223a-a5245994399d@redhat.com> References: <5ad35c31-66f6-5e20-223a-a5245994399d@redhat.com> Message-ID: Am 10.05.2017 um 12:58 schrieb Aleksey Shipilev: > Hi, > > We know workloads that have lots of compiled code, and there parallel code cache > scans are beneficial. > > Let's backport it from 9 to 8u: > http://cr.openjdk.java.net/~shade/shenandoah/parallel-codecache-8u/webrev.01/ > > Testing: hotspot_gc_shenandoah, jcstress -m quick > > Thanks, > -Aleksey > > Yes From ashipile at redhat.com Wed May 10 12:22:14 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 10 May 2017 12:22:14 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Parallel code cache scanning Message-ID: <201705101222.v4ACMEUr004376@aojmv0008.oracle.com> Changeset: dcdf681fc866 Author: shade Date: 2017-05-10 14:20 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/dcdf681fc866 [backport] Parallel code cache scanning ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.hpp From rkennke at redhat.com Wed May 10 14:07:41 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 10 May 2017 16:07:41 +0200 Subject: RFR: Simplify parallel synchronizer roots iterator Message-ID: <91829ec6-25c7-0991-72a1-6f60eed61d6b@redhat.com> The parallel synchronizer roots iterator is a bit too complicated for no good reason (I think, correct me if I'm wrong). It's doing two CASes per loop iteration, once over the CHAINED_MARKER/CLAIMED_MARKER in the block, and once more over the _cur field in the ParallelObjectSynchronizerIterator. I think doing a very simple CAS-loop over the _cur field is good enough, and maybe even improves performance slightly: This is what I get with gc-bench's roots.Sync benchmark: baseline: [15,840s][info][gc,stats] S: Synchronizer Roots = 0,16 s (a = 17334 us) (n = 9) (lvls, us = 11523, 13867, 14062, 16992, 25422) [15,841s][info][gc,stats] UR: Synchronizer Roots = 0,11 s (a = 12206 us) (n = 9) (lvls, us = 9707, 10352, 11719, 11914, 15709) patched: [15,463s][info][gc,stats] S: Synchronizer Roots = 0,15 s (a = 16147 us) (n = 9) (lvls, us = 11523, 12500, 15430, 15820, 25440) [15,463s][info][gc,stats] UR: Synchronizer Roots = 0,10 s (a = 11111 us) (n = 9) (lvls, us = 9160, 9414, 9766, 11523, 13777) http://cr.openjdk.java.net/~rkennke/simplify-sync-roots/webrev.00/ As a nice bonus, this reduces diffs between upstream jdk9 and shenandoah jdk9 (removed CLAIMED_MARKER and cas_set_object()) Testing: hotspot_gc_shenandoah, specjvm-derby, gc-bench/roots.Sync Note: gc-basher fails in hotspot_gc_shenandoah run, but doesn't seem related to that change. Ok? Roman From rkennke at redhat.com Wed May 10 14:11:05 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 10 May 2017 16:11:05 +0200 Subject: RFR: Simplify parallel synchronizer roots iterator In-Reply-To: <91829ec6-25c7-0991-72a1-6f60eed61d6b@redhat.com> References: <91829ec6-25c7-0991-72a1-6f60eed61d6b@redhat.com> Message-ID: <46115508-39ee-8400-990c-d193d0e686db@redhat.com> Am 10.05.2017 um 16:07 schrieb Roman Kennke: > The parallel synchronizer roots iterator is a bit too complicated for no > good reason (I think, correct me if I'm wrong). It's doing two CASes per > loop iteration, once over the CHAINED_MARKER/CLAIMED_MARKER in the > block, and once more over the _cur field in the > ParallelObjectSynchronizerIterator. I think doing a very simple CAS-loop > over the _cur field is good enough, and maybe even improves performance > slightly: > > This is what I get with gc-bench's roots.Sync benchmark: > > baseline: > [15,840s][info][gc,stats] S: Synchronizer Roots = 0,16 s (a > = 17334 us) (n = 9) (lvls, us = 11523, 13867, 14062, > 16992, 25422) > [15,841s][info][gc,stats] UR: Synchronizer Roots = 0,11 s (a > = 12206 us) (n = 9) (lvls, us = 9707, 10352, 11719, > 11914, 15709) > > patched: > [15,463s][info][gc,stats] S: Synchronizer Roots = 0,15 s (a > = 16147 us) (n = 9) (lvls, us = 11523, 12500, 15430, > 15820, 25440) > [15,463s][info][gc,stats] UR: Synchronizer Roots = 0,10 s (a > = 11111 us) (n = 9) (lvls, us = 9160, 9414, 9766, > 11523, 13777) > > > http://cr.openjdk.java.net/~rkennke/simplify-sync-roots/webrev.00/ > > > > As a nice bonus, this reduces diffs between upstream jdk9 and shenandoah > jdk9 (removed CLAIMED_MARKER and cas_set_object()) > > Testing: hotspot_gc_shenandoah, specjvm-derby, gc-bench/roots.Sync > > Note: gc-basher fails in hotspot_gc_shenandoah run, but doesn't seem > related to that change. I just noticed a leftover from some jdk8u related work in my patch. Here's the cleaned up patch: http://cr.openjdk.java.net/~rkennke/simplify-sync-roots/webrev.01/ Ok now? Roman From shade at redhat.com Wed May 10 14:14:35 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 10 May 2017 16:14:35 +0200 Subject: RFR: Simplify parallel synchronizer roots iterator In-Reply-To: <46115508-39ee-8400-990c-d193d0e686db@redhat.com> References: <91829ec6-25c7-0991-72a1-6f60eed61d6b@redhat.com> <46115508-39ee-8400-990c-d193d0e686db@redhat.com> Message-ID: <04ae5f9d-0ca2-94c5-9c4d-ad87a3a163b8@redhat.com> On 05/10/2017 04:11 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/simplify-sync-roots/webrev.01/ The idea sounds fine. *) my_cur and next_block variables could be *void, to avoid clutter? *) I still see the asserts that reference CLAIMEDMARKER -- does it even build with fastdebug? Thanks, -Aleksey From rkennke at redhat.com Wed May 10 14:53:08 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 10 May 2017 16:53:08 +0200 Subject: RFR: Simplify parallel synchronizer roots iterator In-Reply-To: <04ae5f9d-0ca2-94c5-9c4d-ad87a3a163b8@redhat.com> References: <91829ec6-25c7-0991-72a1-6f60eed61d6b@redhat.com> <46115508-39ee-8400-990c-d193d0e686db@redhat.com> <04ae5f9d-0ca2-94c5-9c4d-ad87a3a163b8@redhat.com> Message-ID: Am 10.05.2017 um 16:14 schrieb Aleksey Shipilev: > On 05/10/2017 04:11 PM, Roman Kennke wrote: >> http://cr.openjdk.java.net/~rkennke/simplify-sync-roots/webrev.01/ > The idea sounds fine. > > *) my_cur and next_block variables could be *void, to avoid clutter? Infact, I made them be ObjectMonitor* instead, and also let claim() return ObjectMonitor*. This looks like the usual way to ignore PaddedEnd unless where it's needed (e.g. below in iteration code). > *) I still see the asserts that reference CLAIMEDMARKER -- does it even build > with fastdebug? Oops. Also, we don't need the destructor anymore to restore CHAINEDMARKER, and we also don't need _head anymore. Yippie! http://cr.openjdk.java.net/~rkennke/simplify-sync-roots/webrev.02/ Ok now? Roman From shade at redhat.com Wed May 10 15:06:07 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 10 May 2017 17:06:07 +0200 Subject: RFR: Simplify parallel synchronizer roots iterator In-Reply-To: References: <91829ec6-25c7-0991-72a1-6f60eed61d6b@redhat.com> <46115508-39ee-8400-990c-d193d0e686db@redhat.com> <04ae5f9d-0ca2-94c5-9c4d-ad87a3a163b8@redhat.com> Message-ID: <6a7a07a1-0657-1bf3-5c83-532387159b3e@redhat.com> On 05/10/2017 04:53 PM, Roman Kennke wrote: > Am 10.05.2017 um 16:14 schrieb Aleksey Shipilev: >> On 05/10/2017 04:11 PM, Roman Kennke wrote: >>> http://cr.openjdk.java.net/~rkennke/simplify-sync-roots/webrev.01/ >> The idea sounds fine. >> >> *) my_cur and next_block variables could be *void, to avoid clutter? > Infact, I made them be ObjectMonitor* instead, and also let claim() > return ObjectMonitor*. This looks like the usual way to ignore PaddedEnd > unless where it's needed (e.g. below in iteration code). >> *) I still see the asserts that reference CLAIMEDMARKER -- does it even build >> with fastdebug? > Oops. > > Also, we don't need the destructor anymore to restore CHAINEDMARKER, and > we also don't need _head anymore. Yippie! > > http://cr.openjdk.java.net/~rkennke/simplify-sync-roots/webrev.02/ > > > Ok now? OK. -Aleksey From roman at kennke.org Wed May 10 15:14:21 2017 From: roman at kennke.org (roman at kennke.org) Date: Wed, 10 May 2017 15:14:21 +0000 Subject: hg: shenandoah/jdk9/hotspot: Simplify parallel synchronizer roots iterator. Message-ID: <201705101514.v4AFELKC004335@aojmv0008.oracle.com> Changeset: 29a651648ff2 Author: rkennke Date: 2017-05-10 16:50 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/29a651648ff2 Simplify parallel synchronizer roots iterator. ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/objectMonitor.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp From shade at redhat.com Wed May 10 15:32:44 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 10 May 2017 17:32:44 +0200 Subject: RFR: fastdebug updates matrix on evacuation Message-ID: <350da4e5-1a08-a27b-7b3d-49a2be0ceabf@redhat.com> Oops. http://cr.openjdk.java.net/~shade/shenandoah/assert-update-matix/webrev.01/ Thanks, -Aleksey From rkennke at redhat.com Wed May 10 15:38:41 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 10 May 2017 17:38:41 +0200 Subject: RFR: fastdebug updates matrix on evacuation In-Reply-To: <350da4e5-1a08-a27b-7b3d-49a2be0ceabf@redhat.com> References: <350da4e5-1a08-a27b-7b3d-49a2be0ceabf@redhat.com> Message-ID: <04a18445-55b3-37ae-b625-e738726440fc@redhat.com> Am 10.05.2017 um 17:32 schrieb Aleksey Shipilev: > Oops. > > http://cr.openjdk.java.net/~shade/shenandoah/assert-update-matix/webrev.01/ > > Thanks, > -Aleksey > Ok. Might need it someday when we're using the matrix for UR or such. (Right now we're rebuilding the matrix during UR... reminds me that we might want to skip building the matrix during conc-mark?) Roman From ashipile at redhat.com Wed May 10 15:43:20 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 10 May 2017 15:43:20 +0000 Subject: hg: shenandoah/jdk9/hotspot: fastdebug updates matrix on evacuation Message-ID: <201705101543.v4AFhKFJ022007@aojmv0008.oracle.com> Changeset: 3c313d99a200 Author: shade Date: 2017-05-10 17:41 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/3c313d99a200 fastdebug updates matrix on evacuation ! src/share/vm/gc/shenandoah/shenandoahHeap.inline.hpp From rkennke at redhat.com Wed May 10 20:15:59 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 10 May 2017 22:15:59 +0200 Subject: RFR: Fast synchronizer root scanning Message-ID: <76248eb0-b806-8220-f6bd-5502a2ed104f@redhat.com> When scanning synchronizer roots, we are scanning everything in gBlockList, which, as far as I can tell, are all active monitor blocks of all threads, plus any free blocks that have piled up. Doing this appears to be quite inefficient. I have implemented an alternative way to scan synchronizer roots: each Thread maintains its own thread-local list of in-use monitors and a free-list. The global in-use list is only used for 'moribund' threads. I think it is sufficient scan each Thread's local in-use list plus the global list. I checked with SPECjvm and jcstress and found no ill issues. Performance wise, it looks *much* better: baseline: [14,393s][info][gc,stats] S: Thread Roots = 0,34 s (a = 37748 us) (n = 9) (lvls, us = 36523, 36523, 36914, 37305, 42215) [14,393s][info][gc,stats] S: Synchronizer Roots = 0,14 s (a = 15115 us) (n = 9) (lvls, us = 9746, 10938, 14258, 14648, 25847) [14,393s][info][gc,stats] UR: Thread Roots = 0,22 s (a = 24967 us) (n = 9) (lvls, us = 12305, 24219, 25977, 27148, 27758) [14,393s][info][gc,stats] UR: Synchronizer Roots = 0,11 s (a = 11906 us) (n = 9) (lvls, us = 8340, 9082, 12109, 12695, 13787) patched: [14,293s][info][gc,stats] S: Thread Roots = 0,36 s (a = 40365 us) (n = 9) (lvls, us = 32031, 32031, 34570, 37109, 67224) [14,293s][info][gc,stats] S: Synchronizer Roots = 0,00 s (a = 0 us) (n = 9) (lvls, us = 0, 0, 0, 0, 0) [14,294s][info][gc,stats] UR: Thread Roots = 0,22 s (a = 24459 us) (n = 9) (lvls, us = 15820, 20508, 22070, 26172, 32573) [14,294s][info][gc,stats] UR: Synchronizer Roots = 0,00 s (a = 0 us) (n = 9) (lvls, us = 0, 0, 0, 0, 0) I.e. even though the work of scanning synchronizer roots is added to thread roots scanning, thread-roots scanning does not very significantly take longer, but sync roots scanning drops to 0 (there's usually nothing to do for global in-use list). I guarded this new behaviour with -XX:+ShenandoahFastSyncRoots, and defaulting to false for now. This will allow us to do more testing and get feedback from hotspot-runtime-dev, before enabling it by default. http://cr.openjdk.java.net/~rkennke/fastsyncroots/webrev.00/ Testing: hotspot_gc_shenandoah, jcstress -m quick, jmh-specjvm Ok? From zgu at redhat.com Wed May 10 20:20:03 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 10 May 2017 16:20:03 -0400 Subject: RFR: Fast synchronizer root scanning In-Reply-To: <76248eb0-b806-8220-f6bd-5502a2ed104f@redhat.com> References: <76248eb0-b806-8220-f6bd-5502a2ed104f@redhat.com> Message-ID: <82bb1669-386f-0733-b4c4-e46678610e8e@redhat.com> OK. -Zhengyu On 05/10/2017 04:15 PM, Roman Kennke wrote: > When scanning synchronizer roots, we are scanning everything in > gBlockList, which, as far as I can tell, are all active monitor blocks > of all threads, plus any free blocks that have piled up. Doing this > appears to be quite inefficient. > > I have implemented an alternative way to scan synchronizer roots: each > Thread maintains its own thread-local list of in-use monitors and a > free-list. The global in-use list is only used for 'moribund' threads. I > think it is sufficient scan each Thread's local in-use list plus the > global list. I checked with SPECjvm and jcstress and found no ill > issues. Performance wise, it looks *much* better: > > baseline: > [14,393s][info][gc,stats] S: Thread Roots = 0,34 s (a > = 37748 us) (n = 9) (lvls, us = 36523, 36523, 36914, > 37305, 42215) > [14,393s][info][gc,stats] S: Synchronizer Roots = 0,14 s (a > = 15115 us) (n = 9) (lvls, us = 9746, 10938, 14258, > 14648, 25847) > [14,393s][info][gc,stats] UR: Thread Roots = 0,22 s (a > = 24967 us) (n = 9) (lvls, us = 12305, 24219, 25977, > 27148, 27758) > [14,393s][info][gc,stats] UR: Synchronizer Roots = 0,11 s (a > = 11906 us) (n = 9) (lvls, us = 8340, 9082, 12109, > 12695, 13787) > > patched: > [14,293s][info][gc,stats] S: Thread Roots = 0,36 s (a > = 40365 us) (n = 9) (lvls, us = 32031, 32031, 34570, > 37109, 67224) > [14,293s][info][gc,stats] S: Synchronizer Roots = 0,00 s (a > = 0 us) (n = 9) (lvls, us = 0, 0, > 0, 0, 0) > [14,294s][info][gc,stats] UR: Thread Roots = 0,22 s (a > = 24459 us) (n = 9) (lvls, us = 15820, 20508, 22070, > 26172, 32573) > [14,294s][info][gc,stats] UR: Synchronizer Roots = 0,00 s (a > = 0 us) (n = 9) (lvls, us = 0, 0, > 0, 0, 0) > > > I.e. even though the work of scanning synchronizer roots is added to > thread roots scanning, thread-roots scanning does not very significantly > take longer, but sync roots scanning drops to 0 (there's usually nothing > to do for global in-use list). > > I guarded this new behaviour with -XX:+ShenandoahFastSyncRoots, and > defaulting to false for now. This will allow us to do more testing and > get feedback from hotspot-runtime-dev, before enabling it by default. > > http://cr.openjdk.java.net/~rkennke/fastsyncroots/webrev.00/ > > > Testing: hotspot_gc_shenandoah, jcstress -m quick, jmh-specjvm > > Ok? > > From roman at kennke.org Wed May 10 20:25:53 2017 From: roman at kennke.org (roman at kennke.org) Date: Wed, 10 May 2017 20:25:53 +0000 Subject: hg: shenandoah/jdk9/hotspot: Fast synchronizer root scanning. Message-ID: <201705102025.v4AKPs0g000853@aojmv0008.oracle.com> Changeset: 85c3e4589c8e Author: rkennke Date: 2017-05-10 22:23 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/85c3e4589c8e Fast synchronizer root scanning. ! src/share/vm/gc/shenandoah/shenandoahRootProcessor.cpp ! src/share/vm/gc/shenandoah/shenandoah_globals.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/thread.cpp From shade at redhat.com Thu May 11 09:14:53 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 11 May 2017 11:14:53 +0200 Subject: RFR: Enable fast synchronizer root scanning by default Message-ID: <04da1270-4324-23b6-cd48-00f520c45155@redhat.com> Hi, We see good performance improvements, and positive code reviews upstream for fast synchronizer root scanning. Let's enable it by default: $ hg diff diff -r 85c3e4589c8e src/share/vm/gc/shenandoah/shenandoah_globals.hpp --- a/src/share/vm/gc/shenandoah/shenandoah_globals.hpp Wed May 10 22:23:37 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoah_globals.hpp Thu May 11 11:00:49 2017 +0200 @@ -214,7 +214,7 @@ "If true, only execute storeval barrier when updating " \ "references.") \ \ - experimental(bool, ShenandoahFastSyncRoots, false, \ + experimental(bool, ShenandoahFastSyncRoots, true, \ "Enable fast synchronizer roots scanning") \ \ diagnostic(bool, ShenandoahSATBBarrier, true, \ Testing: hotspot_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Thu May 11 09:16:50 2017 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 11 May 2017 11:16:50 +0200 Subject: RFR: Enable fast synchronizer root scanning by default In-Reply-To: <04da1270-4324-23b6-cd48-00f520c45155@redhat.com> References: <04da1270-4324-23b6-cd48-00f520c45155@redhat.com> Message-ID: Am 11.05.2017 um 11:14 schrieb Aleksey Shipilev: > Hi, > > We see good performance improvements, and positive code reviews upstream for > fast synchronizer root scanning. Let's enable it by default: > > $ hg diff > diff -r 85c3e4589c8e src/share/vm/gc/shenandoah/shenandoah_globals.hpp > --- a/src/share/vm/gc/shenandoah/shenandoah_globals.hpp Wed May 10 22:23:37 2017 > +0200 > +++ b/src/share/vm/gc/shenandoah/shenandoah_globals.hpp Thu May 11 11:00:49 2017 > +0200 > @@ -214,7 +214,7 @@ > "If true, only execute storeval barrier when updating " \ > "references.") \ > \ > - experimental(bool, ShenandoahFastSyncRoots, false, \ > + experimental(bool, ShenandoahFastSyncRoots, true, \ > "Enable fast synchronizer roots scanning") \ > \ > diagnostic(bool, ShenandoahSATBBarrier, true, \ > > > Testing: hotspot_gc_shenandoah > > Thanks, > -Aleksey > Ok From ashipile at redhat.com Thu May 11 09:26:11 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Thu, 11 May 2017 09:26:11 +0000 Subject: hg: shenandoah/jdk9/hotspot: Enable fast synchronizer root scanning by default Message-ID: <201705110926.v4B9QBI7007698@aojmv0008.oracle.com> Changeset: 63015cf54987 Author: shade Date: 2017-05-11 11:24 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/63015cf54987 Enable fast synchronizer root scanning by default ! src/share/vm/gc/shenandoah/shenandoah_globals.hpp From ashipile at redhat.com Thu May 11 10:35:28 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Thu, 11 May 2017 10:35:28 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 2 new changesets Message-ID: <201705111035.v4BAZToM001641@aojmv0008.oracle.com> Changeset: b4a4d14efbf2 Author: shade Date: 2017-05-11 12:08 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/b4a4d14efbf2 [backport] Simplify parallel synchronizer roots iterator ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/objectMonitor.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp Changeset: 41b9fcc408f2 Author: shade Date: 2017-05-11 12:33 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/41b9fcc408f2 [backport] Fast synchronizer root scanning ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/thread.cpp From shade at redhat.com Thu May 11 11:59:55 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 11 May 2017 13:59:55 +0200 Subject: RFR: 9+8u: Assorted cleanups Message-ID: <736ee353-fe60-e531-f711-608ebd1bbc2b@redhat.com> Some of these were found by static analysis, some by inspecting ASSERT blocks: http://cr.openjdk.java.net/~shade/shenandoah/cleanups-3/webrev.01/ Testing: hotspot_gc_shenandoah -Aleksey From rkennke at redhat.com Thu May 11 12:18:22 2017 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 11 May 2017 14:18:22 +0200 Subject: RFR: 9+8u: Assorted cleanups In-Reply-To: <736ee353-fe60-e531-f711-608ebd1bbc2b@redhat.com> References: <736ee353-fe60-e531-f711-608ebd1bbc2b@redhat.com> Message-ID: <8bbaba54-f061-6a14-06fb-4becc820bbe7@redhat.com> Am 11.05.2017 um 13:59 schrieb Aleksey Shipilev: > Some of these were found by static analysis, some by inspecting ASSERT blocks: > http://cr.openjdk.java.net/~shade/shenandoah/cleanups-3/webrev.01/ > > Testing: hotspot_gc_shenandoah > > -Aleksey > Looks good to me. Roman From ashipile at redhat.com Thu May 11 12:22:55 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Thu, 11 May 2017 12:22:55 +0000 Subject: hg: shenandoah/jdk9/hotspot: Assorted cleanups. Message-ID: <201705111222.v4BCMtIn016382@aojmv0008.oracle.com> Changeset: 3ed2f0047b78 Author: shade Date: 2017-05-11 14:21 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/3ed2f0047b78 Assorted cleanups. ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentThread.hpp ! src/share/vm/gc/shenandoah/shenandoahFreeSet.cpp ! src/share/vm/gc/shenandoah/shenandoahFreeSet.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegionCounters.cpp ! src/share/vm/gc/shenandoah/shenandoah_globals.hpp From zgu at redhat.com Thu May 11 12:26:21 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 11 May 2017 08:26:21 -0400 Subject: RFR(XS): Cleanup: removed redundant ClassLoaderData::clear_claimed_marks() call Message-ID: <7018be3e-4fdc-20ea-6b7b-4510cc345c28@redhat.com> Now, the call is encapsulated in ShenandoahRootProcessor's cld_iterator. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/redundant_clear_cld/webrev.00/ Test: hotspot_gc_shenandoah test with fastdebug and release builds. Thanks, -Zhengyu From shade at redhat.com Thu May 11 12:28:41 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 11 May 2017 14:28:41 +0200 Subject: RFR(XS): Cleanup: removed redundant ClassLoaderData::clear_claimed_marks() call In-Reply-To: <7018be3e-4fdc-20ea-6b7b-4510cc345c28@redhat.com> References: <7018be3e-4fdc-20ea-6b7b-4510cc345c28@redhat.com> Message-ID: <05a4e5f7-f0d4-076c-206b-2d0dac9041d0@redhat.com> On 05/11/2017 02:26 PM, Zhengyu Gu wrote: > Now, the call is encapsulated in ShenandoahRootProcessor's cld_iterator. > > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/redundant_clear_cld/webrev.00/ Yup. Can you also look around 8u about the same thing? Thanks, -Aleksey From ashipile at redhat.com Thu May 11 12:36:11 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Thu, 11 May 2017 12:36:11 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Assorted cleanups Message-ID: <201705111236.v4BCaC41021305@aojmv0008.oracle.com> Changeset: 24559fd0aeee Author: shade Date: 2017-05-11 14:31 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/24559fd0aeee [backport] Assorted cleanups ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahFreeSet.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahFreeSet.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp From zgu at redhat.com Thu May 11 13:40:56 2017 From: zgu at redhat.com (zgu at redhat.com) Date: Thu, 11 May 2017 13:40:56 +0000 Subject: hg: shenandoah/jdk9/hotspot: Cleanup: removed redundant cld clear_claimed_mark call Message-ID: <201705111340.v4BDeuJ7013236@aojmv0008.oracle.com> Changeset: 4c0009be260d Author: zgu Date: 2017-05-11 08:19 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/4c0009be260d Cleanup: removed redundant cld clear_claimed_mark call ! src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp From zgu at redhat.com Thu May 11 15:13:20 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Thu, 11 May 2017 11:13:20 -0400 Subject: RFR(XS): [8u] Cleanup: Removed redundant ClassLoaderData::clear_claimed_marks() Message-ID: <15a7bb7f-c1de-da5f-18da-6cf8a20d6ac4@redhat.com> Cleanup for jdk8u. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/clean_cld_8u/webrev.00/ Test: hotspot_gc_shenandoah with fastdebug and release builds. Thanks, -Zhengyu From shade at redhat.com Thu May 11 15:22:24 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 11 May 2017 17:22:24 +0200 Subject: RFR(XS): [8u] Cleanup: Removed redundant ClassLoaderData::clear_claimed_marks() In-Reply-To: <15a7bb7f-c1de-da5f-18da-6cf8a20d6ac4@redhat.com> References: <15a7bb7f-c1de-da5f-18da-6cf8a20d6ac4@redhat.com> Message-ID: <6f0ae41d-100c-d17c-add2-751fafe31476@redhat.com> On 05/11/2017 05:13 PM, Zhengyu Gu wrote: > Cleanup for jdk8u. > > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/clean_cld_8u/webrev.00/ Looks good to me. -Aleksey From zgu at redhat.com Thu May 11 15:29:45 2017 From: zgu at redhat.com (zgu at redhat.com) Date: Thu, 11 May 2017 15:29:45 +0000 Subject: hg: shenandoah/jdk8u/hotspot: Cleanup: Removed redundant ClassLoaderData::clear_claimed_marks() calls Message-ID: <201705111529.v4BFTkVA022706@aojmv0008.oracle.com> Changeset: e7fad5d40c0f Author: zgu Date: 2017-05-11 09:52 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/e7fad5d40c0f Cleanup: Removed redundant ClassLoaderData::clear_claimed_marks() calls ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp From shade at redhat.com Thu May 11 17:39:26 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 11 May 2017 19:39:26 +0200 Subject: RFR: Update region sampling to include TLAB/GCLAB allocation data Message-ID: <75fddbc2-4a3a-5b0d-9702-5dbaee34ae35@redhat.com> Hi, It seems useful to see TLAB/GCLAB allocations in Visualizer. Additionally, this fixes "recycled" region flag handling that is updated at the inconvenient time, and when heap region sampling is actually disabled. It does update counters on allocation path, but that path is only normally taken to claim entire TLABs. Webrev: http://cr.openjdk.java.net/~shade/shenandoah/sampling-gclabs/webrev.01/ Going to commit the same to 8u too. Testing: hotspot_gc_shenandoah; Visualizer runs with some workloads Thanks, -Aleksey From rkennke at redhat.com Thu May 11 17:43:15 2017 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 11 May 2017 19:43:15 +0200 Subject: RFR: Update region sampling to include TLAB/GCLAB allocation data In-Reply-To: <75fddbc2-4a3a-5b0d-9702-5dbaee34ae35@redhat.com> References: <75fddbc2-4a3a-5b0d-9702-5dbaee34ae35@redhat.com> Message-ID: <52D00F3A-BA77-4A5C-B4F4-F67834549535@redhat.com> Looks good to me! Am 11. Mai 2017 19:39:26 MESZ schrieb Aleksey Shipilev : >Hi, > >It seems useful to see TLAB/GCLAB allocations in Visualizer. >Additionally, this >fixes "recycled" region flag handling that is updated at the >inconvenient time, >and when heap region sampling is actually disabled. It does update >counters on >allocation path, but that path is only normally taken to claim entire >TLABs. > >Webrev: >http://cr.openjdk.java.net/~shade/shenandoah/sampling-gclabs/webrev.01/ > >Going to commit the same to 8u too. > >Testing: hotspot_gc_shenandoah; Visualizer runs with some workloads > >Thanks, >-Aleksey -- Sent from my FairPhone From ashipile at redhat.com Thu May 11 17:48:56 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Thu, 11 May 2017 17:48:56 +0000 Subject: hg: shenandoah/jdk9/hotspot: Update region sampling to include TLAB/GCLAB allocation data Message-ID: <201705111748.v4BHmuna027392@aojmv0008.oracle.com> Changeset: 9035d78d9ffd Author: shade Date: 2017-05-11 19:45 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/9035d78d9ffd Update region sampling to include TLAB/GCLAB allocation data ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegion.hpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegion.inline.hpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegionCounters.cpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegionCounters.hpp From ashipile at redhat.com Thu May 11 18:14:46 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Thu, 11 May 2017 18:14:46 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Update region sampling to include TLAB/GCLAB allocation data Message-ID: <201705111814.v4BIEkja006790@aojmv0008.oracle.com> Changeset: 7acdfcbbe10f Author: shade Date: 2017-05-11 20:13 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/7acdfcbbe10f [backport] Update region sampling to include TLAB/GCLAB allocation data ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.inline.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionCounters.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionCounters.hpp ! src/share/vm/opto/shenandoahSupport.cpp From shade at redhat.com Thu May 11 18:25:33 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Thu, 11 May 2017 20:25:33 +0200 Subject: RFR: 9+8u: Region sampling may not be enabled because last timetick is uninitialized Message-ID: <99f270f3-9a28-63c8-251a-1a288a861b72@redhat.com> D'uh: $ hg diff diff -r 9035d78d9ffd src/share/vm/gc/shenandoah/shenandoahHeapRegionCounters.cpp --- a/src/share/vm/gc/shenandoah/shenandoahHeapRegionCounters.cpp Thu May 11 19:45:32 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahHeapRegionCounters.cpp Thu May 11 20:25:09 2017 +0200 @@ -28,8 +28,9 @@ #include "gc/shenandoah/shenandoahHeapRegionCounters.hpp" #include "runtime/perfData.hpp" -ShenandoahHeapRegionCounters::ShenandoahHeapRegionCounters() { - +ShenandoahHeapRegionCounters::ShenandoahHeapRegionCounters() : + _last_sample_millis(0) +{ if (UsePerfData) { EXCEPTION_MARK; ResourceMark rm; Thanks, -Aleksey From rkennke at redhat.com Thu May 11 18:57:01 2017 From: rkennke at redhat.com (Roman Kennke) Date: Thu, 11 May 2017 20:57:01 +0200 Subject: RFR: 9+8u: Region sampling may not be enabled because last timetick is uninitialized In-Reply-To: <99f270f3-9a28-63c8-251a-1a288a861b72@redhat.com> References: <99f270f3-9a28-63c8-251a-1a288a861b72@redhat.com> Message-ID: <7468f1d7-a19a-cc8d-d1e8-fbeaaa2ce113@redhat.com> Am 11.05.2017 um 20:25 schrieb Aleksey Shipilev: > D'uh: > > $ hg diff > diff -r 9035d78d9ffd src/share/vm/gc/shenandoah/shenandoahHeapRegionCounters.cpp > --- a/src/share/vm/gc/shenandoah/shenandoahHeapRegionCounters.cpp Thu May 11 > 19:45:32 2017 +0200 > +++ b/src/share/vm/gc/shenandoah/shenandoahHeapRegionCounters.cpp Thu May 11 > 20:25:09 2017 +0200 > @@ -28,8 +28,9 @@ > #include "gc/shenandoah/shenandoahHeapRegionCounters.hpp" > #include "runtime/perfData.hpp" > > -ShenandoahHeapRegionCounters::ShenandoahHeapRegionCounters() { > - > +ShenandoahHeapRegionCounters::ShenandoahHeapRegionCounters() : > + _last_sample_millis(0) > +{ > if (UsePerfData) { > EXCEPTION_MARK; > ResourceMark rm; > > > Thanks, > -Aleksey > yes! From ashipile at redhat.com Thu May 11 19:15:58 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Thu, 11 May 2017 19:15:58 +0000 Subject: hg: shenandoah/jdk9/hotspot: Region sampling may not be enabled because last timetick is uninitialized Message-ID: <201705111915.v4BJFwLx028913@aojmv0008.oracle.com> Changeset: d5d4cc781486 Author: shade Date: 2017-05-11 21:14 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/d5d4cc781486 Region sampling may not be enabled because last timetick is uninitialized ! src/share/vm/gc/shenandoah/shenandoahHeapRegionCounters.cpp From ashipile at redhat.com Thu May 11 19:16:07 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Thu, 11 May 2017 19:16:07 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Region sampling may not be enabled because last timetick is uninitialized Message-ID: <201705111916.v4BJG7C4028981@aojmv0008.oracle.com> Changeset: 2dd39224c175 Author: shade Date: 2017-05-11 21:14 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/2dd39224c175 [backport] Region sampling may not be enabled because last timetick is uninitialized ! src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionCounters.cpp From shade at redhat.com Fri May 12 10:47:06 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 12 May 2017 12:47:06 +0200 Subject: RFR: Cleanup: update-refs check in_collection_set twice Message-ID: <2e809e33-f64a-ab5d-c82d-c11f507964ee@redhat.com> Hi, Minor cleanup in update-refs handling, do in_collection_set check once: diff -r d5d4cc781486 src/share/vm/gc/shenandoah/shenandoahHeap.cpp --- a/src/share/vm/gc/shenandoah/shenandoahHeap.cpp Thu May 11 21:14:39 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahHeap.cpp Fri May 12 12:43:18 2017 +0200 @@ -2400,15 +2400,16 @@ void work(uint worker_id) { ShenandoahHeapRegion* r = _regions->claim_next(); while (r != NULL) { - if (! _heap->in_collection_set(r) && - ! r->is_empty()) { - _heap->marked_object_oop_safe_iterate(r, &cl); - } else if (_heap->in_collection_set(r)) { + if (_heap->in_collection_set(r)) { HeapWord* bottom = r->bottom(); HeapWord* top = _heap->complete_top_at_mark_start(r->bottom()); if (top > bottom) { _heap->complete_mark_bit_map()->clear_range_large(MemRegion(bottom, top)); } + } else { + if (!r->is_empty()) { + _heap->marked_object_oop_safe_iterate(r, &cl); + } } if (_heap->cancelled_concgc()) { return; Thanks, -Aleksey From rkennke at redhat.com Fri May 12 10:50:39 2017 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 12 May 2017 12:50:39 +0200 Subject: RFR: Cleanup: update-refs check in_collection_set twice In-Reply-To: <2e809e33-f64a-ab5d-c82d-c11f507964ee@redhat.com> References: <2e809e33-f64a-ab5d-c82d-c11f507964ee@redhat.com> Message-ID: Am 12.05.2017 um 12:47 schrieb Aleksey Shipilev: > Hi, > > Minor cleanup in update-refs handling, do in_collection_set check once: > > diff -r d5d4cc781486 src/share/vm/gc/shenandoah/shenandoahHeap.cpp > --- a/src/share/vm/gc/shenandoah/shenandoahHeap.cpp Thu May 11 21:14:39 2017 +0200 > +++ b/src/share/vm/gc/shenandoah/shenandoahHeap.cpp Fri May 12 12:43:18 2017 +0200 > @@ -2400,15 +2400,16 @@ > void work(uint worker_id) { > ShenandoahHeapRegion* r = _regions->claim_next(); > while (r != NULL) { > - if (! _heap->in_collection_set(r) && > - ! r->is_empty()) { > - _heap->marked_object_oop_safe_iterate(r, &cl); > - } else if (_heap->in_collection_set(r)) { > + if (_heap->in_collection_set(r)) { > HeapWord* bottom = r->bottom(); > HeapWord* top = _heap->complete_top_at_mark_start(r->bottom()); > if (top > bottom) { > _heap->complete_mark_bit_map()->clear_range_large(MemRegion(bottom, > top)); > } > + } else { > + if (!r->is_empty()) { > + _heap->marked_object_oop_safe_iterate(r, &cl); > + } > } > if (_heap->cancelled_concgc()) { > return; > > Thanks, > -Aleksey > Yes From ashipile at redhat.com Fri May 12 10:53:01 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 12 May 2017 10:53:01 +0000 Subject: hg: shenandoah/jdk9/hotspot: Cleanup: update-refs check in_collection_set twice Message-ID: <201705121053.v4CAr1XN029585@aojmv0008.oracle.com> Changeset: 71ef78a756e7 Author: shade Date: 2017-05-12 12:51 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/71ef78a756e7 Cleanup: update-refs check in_collection_set twice ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp From ashipile at redhat.com Fri May 12 11:05:11 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 12 May 2017 11:05:11 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Cleanup: update-refs check in_collection_set twice Message-ID: <201705121105.v4CB5BVv003862@aojmv0008.oracle.com> Changeset: 390e6ca36177 Author: shade Date: 2017-05-12 13:03 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/390e6ca36177 [backport] Cleanup: update-refs check in_collection_set twice ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp From shade at redhat.com Fri May 12 11:23:20 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 12 May 2017 13:23:20 +0200 Subject: RFR: Fix up pointer volatility Message-ID: <8cdb3ac3-4c63-50f6-2eb1-d360b7235ffe@redhat.com> Hi, Scanned through our changes against upstream to see if we get pointer volatility right everywhere. We seem to be, and the only missing place is this: diff -r 71ef78a756e7 src/share/vm/gc/shenandoah/shenandoahHeap.hpp --- a/src/share/vm/gc/shenandoah/shenandoahHeap.hpp Fri May 12 12:51:33 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahHeap.hpp Fri May 12 13:21:39 2017 +0200 @@ -201,7 +201,7 @@ ShenandoahConnectionMatrix* _connection_matrix; #ifdef ASSERT - volatile Thread* _heap_lock_owner; + Thread* volatile _heap_lock_owner; #endif public: Testing: hotspot_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Fri May 12 11:49:20 2017 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 12 May 2017 13:49:20 +0200 Subject: RFR: Fix up pointer volatility In-Reply-To: <8cdb3ac3-4c63-50f6-2eb1-d360b7235ffe@redhat.com> References: <8cdb3ac3-4c63-50f6-2eb1-d360b7235ffe@redhat.com> Message-ID: Yes > Hi, > > Scanned through our changes against upstream to see if we get pointer volatility > right everywhere. We seem to be, and the only missing place is this: > > diff -r 71ef78a756e7 src/share/vm/gc/shenandoah/shenandoahHeap.hpp > --- a/src/share/vm/gc/shenandoah/shenandoahHeap.hpp Fri May 12 12:51:33 2017 +0200 > +++ b/src/share/vm/gc/shenandoah/shenandoahHeap.hpp Fri May 12 13:21:39 2017 +0200 > @@ -201,7 +201,7 @@ > ShenandoahConnectionMatrix* _connection_matrix; > > #ifdef ASSERT > - volatile Thread* _heap_lock_owner; > + Thread* volatile _heap_lock_owner; > #endif > > public: > > Testing: hotspot_gc_shenandoah > > Thanks, > -Aleksey > From ashipile at redhat.com Fri May 12 11:51:11 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 12 May 2017 11:51:11 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Fix up pointer volatility Message-ID: <201705121151.v4CBpBuo018798@aojmv0008.oracle.com> Changeset: 642fc8cfdc03 Author: shade Date: 2017-05-12 13:42 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/642fc8cfdc03 [backport] Fix up pointer volatility ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp From ashipile at redhat.com Fri May 12 11:51:31 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 12 May 2017 11:51:31 +0000 Subject: hg: shenandoah/jdk9/hotspot: Fix up pointer volatility Message-ID: <201705121151.v4CBpWE6019098@aojmv0008.oracle.com> Changeset: e0ac01d9dae2 Author: shade Date: 2017-05-12 13:37 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/e0ac01d9dae2 Fix up pointer volatility ! src/share/vm/gc/shenandoah/shenandoahHeap.hpp From shade at redhat.com Fri May 12 14:43:30 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 12 May 2017 16:43:30 +0200 Subject: RFR: Incorrect conditional matrix cleanup in SHMatrix::clean_batched Message-ID: Hi, Zhengyu found this embarrassing bug introduced by me: diff -r e0ac01d9dae2 src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp --- a/src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp Fri May 12 13:37:36 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp Fri May 12 16:30:50 2017 +0200 @@ -117,7 +117,7 @@ size_t start = r * stride; for (size_t i = 0; i < count; i++) { size_t t = start + idxs[i]; - if (matrix[t] == 0) { + if (matrix[t] != 0) { matrix[t] = 0; } } This should not affect correctness though, because we "just" keep matrix way more conservative than required. Testing: hotspot_gc_shenandoah Thanks, -Aleksey From shade at redhat.com Fri May 12 14:52:40 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 12 May 2017 16:52:40 +0200 Subject: RFR: Incorrect conditional matrix cleanup in SHMatrix::clean_batched In-Reply-To: References: Message-ID: <2ecbaccf-0dfb-7a27-3d1d-fb6ef0bc5901@redhat.com> On 05/12/2017 04:43 PM, Aleksey Shipilev wrote: > Hi, > > Zhengyu found this embarrassing bug introduced by me: > > diff -r e0ac01d9dae2 src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp > --- a/src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp Fri May 12 > 13:37:36 2017 +0200 > +++ b/src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp Fri May 12 > 16:30:50 2017 +0200 > @@ -117,7 +117,7 @@ > size_t start = r * stride; > for (size_t i = 0; i < count; i++) { > size_t t = start + idxs[i]; > - if (matrix[t] == 0) { > + if (matrix[t] != 0) { > matrix[t] = 0; > } > } > Actually, should assert too: $ hg diff diff -r e0ac01d9dae2 src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp --- a/src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp Fri May 12 13:37:36 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp Fri May 12 16:48:22 2017 +0200 @@ -117,7 +117,7 @@ size_t start = r * stride; for (size_t i = 0; i < count; i++) { size_t t = start + idxs[i]; - if (matrix[t] == 0) { + if (matrix[t] != 0) { matrix[t] = 0; } } @@ -152,4 +152,13 @@ ShenandoahMatrixCleanupTask cl(_matrix, _stride, idxs, count); ShenandoahHeap::heap()->workers()->run_task(&cl); + +#ifdef ASSERT + for (size_t i = 0; i < count; i++) { + for (size_t c = 0; c < _stride; c++) { + assert (!is_connected(idxs[i], c), "should not be connected"); + assert (!is_connected(c, idxs[i]), "should not be connected"); + } + } +#endif } -Aleksey From zgu at redhat.com Fri May 12 15:01:07 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Fri, 12 May 2017 11:01:07 -0400 Subject: RFR: Incorrect conditional matrix cleanup in SHMatrix::clean_batched In-Reply-To: References: Message-ID: <16f5855d-47ed-055b-0de1-d0eb1b6e410f@redhat.com> Good to me. -Zhengyu On 05/12/2017 10:43 AM, Aleksey Shipilev wrote: > Hi, > > Zhengyu found this embarrassing bug introduced by me: > > diff -r e0ac01d9dae2 src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp > --- a/src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp Fri May 12 > 13:37:36 2017 +0200 > +++ b/src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp Fri May 12 > 16:30:50 2017 +0200 > @@ -117,7 +117,7 @@ > size_t start = r * stride; > for (size_t i = 0; i < count; i++) { > size_t t = start + idxs[i];L > - if (matrix[t] == 0) { > + if (matrix[t] != 0) { > matrix[t] = 0; > } > } > > > This should not affect correctness though, because we "just" keep matrix way > more conservative than required. > > Testing: hotspot_gc_shenandoah > > Thanks, > -Aleksey > From ashipile at redhat.com Fri May 12 15:07:31 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 12 May 2017 15:07:31 +0000 Subject: hg: shenandoah/jdk9/hotspot: Incorrect conditional matrix cleanup in SHMatrix::clean_batched Message-ID: <201705121507.v4CF7Vlx001582@aojmv0008.oracle.com> Changeset: 4931b832162d Author: shade Date: 2017-05-12 17:06 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/4931b832162d Incorrect conditional matrix cleanup in SHMatrix::clean_batched ! src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp From rkennke at redhat.com Mon May 15 19:21:14 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 May 2017 21:21:14 +0200 Subject: RFR: Deflate idle monitors per thread Message-ID: Current idle monitor deflation happens when all thread have arrived at safepoint, but is single-threaded by the VM thread. This patch implements per-thread idle monitor deflation. This will deflate monitors when GC calls into Thread::oops_do() or possibly_parallel_oops_do(), and utilizes the GC worker threads to deflate monitors. This should parallelize well, and behave better on caches (synchronizer roots are scanned right after deflation!). All is enabled by -XX:+DeflateIdleMonitorsPerThread. http://cr.openjdk.java.net/~rkennke/deflate-per-thread/webrev.00/ Testing: specjvm, hotspot_gc_shenandoah Ok? Roman From rkennke at redhat.com Mon May 15 19:32:35 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 15 May 2017 21:32:35 +0200 Subject: RFR: Deflate idle monitors per thread In-Reply-To: References: Message-ID: <226140a3-452a-ef5b-e9e5-b699d349bc53@redhat.com> CC'ing Aleksey. OpenJDK lists are down atm. Roman Am 15.05.2017 um 21:21 schrieb Roman Kennke: > Current idle monitor deflation happens when all thread have arrived at > safepoint, but is single-threaded by the VM thread. This patch > implements per-thread idle monitor deflation. This will deflate monitors > when GC calls into Thread::oops_do() or possibly_parallel_oops_do(), and > utilizes the GC worker threads to deflate monitors. This should > parallelize well, and behave better on caches (synchronizer roots are > scanned right after deflation!). All is enabled by > -XX:+DeflateIdleMonitorsPerThread. > > http://cr.openjdk.java.net/~rkennke/deflate-per-thread/webrev.00/ > > > > Testing: specjvm, hotspot_gc_shenandoah > > Ok? > > Roman > > From roman at kennke.org Mon May 15 19:32:24 2017 From: roman at kennke.org (roman at kennke.org) Date: Mon, 15 May 2017 19:32:24 +0000 Subject: hg: shenandoah/jdk9/hotspot: Deflate idle monitors per thread. Message-ID: <201705151932.v4FJWOKA013255@aojmv0008.oracle.com> Changeset: 51a2913ba313 Author: rkennke Date: 2017-05-15 21:27 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/51a2913ba313 Deflate idle monitors per thread. ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/thread.cpp From shade at redhat.com Mon May 15 15:42:28 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 May 2017 17:42:28 +0200 Subject: RFR: Skip RESOLVE when references update is not needed Message-ID: <01286ece-d2ba-b310-bf7d-db4859af930b@redhat.com> Hi, When UR pass is done, we know there are no to-space references in heap anymore, and we might as well skip their resolving until the next evac. Concurrent mark already does specialize this for main loop, but not for the init mark, and concurrent code cache scan. We had this idea before, but until UR were turned on by default, this only affected the GC cycle after Full GC. Now it affects most cycles. Patch: http://cr.openjdk.java.net/~shade/shenandoah/initmark-skip-resolve/webrev.01/ Significantly improves performance when root set is heavy: http://cr.openjdk.java.net/~shade/shenandoah/initmark-skip-resolve/perf.txt Testing: hotspot_gc_shenandoah; jcstress -m quick Thanks, -Aleksey From shade at redhat.com Mon May 15 19:24:14 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 May 2017 21:24:14 +0200 Subject: RFR: Variable steps in adaptive heuristics Message-ID: <40bd5b2f-5a02-3215-154e-00c385174dab@redhat.com> Hi, Current adaptive heuristics makes only +1 or -1 steps for free threshold, depending on conditions. This is not good for several reasons: a) Full GC means something going completely awry, and we need to step back hard to alleviate this. Stepping one percent is not going to cut it, because we will probably run into another Full GC; b) Cancelled GC means something had changed so much, that we blew the free threshold completely -- like a workload phase change -- and we should step back harder to see what is going on. c) When the initial guess for free threshold is wrong, it would take a while to arrive to most optimal one with small steps. The idea is to make variable steps, depending on distance from target and/or exceptional circumstances: http://cr.openjdk.java.net/~shade/shenandoah/adaptive-varsteps/webrev.01/ Testing: hotspot_gc_shenandoah, specjbb, specjvm Thanks, -Aleksey From shade at redhat.com Mon May 15 18:13:29 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 May 2017 20:13:29 +0200 Subject: RFR: Print correct message about gross times in stats Message-ID: Hi, We should make it clear gross times are not only about TTSP, but about the entire safepoint mechanics. Let's make it say this: $ hg diff diff -r 4931b832162d src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp --- a/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Fri May 12 17:06:04 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Mon May 15 20:10:38 2017 +0200 @@ -1018,7 +1018,9 @@ void ShenandoahCollectorPolicy::print_tracing_info(outputStream* out) { out->cr(); out->print_cr("GC STATISTICS:"); - out->print_cr(" \"(G)\" (gross) pauses include time to safepoint. \"(N)\" (net) pauses are times spent in GC."); + out->print_cr(" \"(G)\" (gross) pauses include VM time: time to notify and block threads, do the pre-"); + out->print_cr(" and post-safepoint housekeeping. Use -XX:+PrintSafepointStatistics to dissect."); + out->print_cr(" \"(N)\" (net) pauses are the times spent in the actual GC code."); out->print_cr(" \"a\" is average time for each phase, look at levels to see if average makes sense."); out->print_cr(" \"lvls\" are quantiles: 0%% (minimum), 25%%, 50%% (median), 75%%, 100%% (maximum)."); out->cr(); Thanks, -Aleksey From shade at redhat.com Mon May 15 19:33:31 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 15 May 2017 21:33:31 +0200 Subject: RFR: Deflate idle monitors per thread In-Reply-To: <226140a3-452a-ef5b-e9e5-b699d349bc53@redhat.com> References: <226140a3-452a-ef5b-e9e5-b699d349bc53@redhat.com> Message-ID: On 05/15/2017 09:32 PM, Roman Kennke wrote: > CC'ing Aleksey. OpenJDK lists are down atm. > > Roman > > Am 15.05.2017 um 21:21 schrieb Roman Kennke: >> Current idle monitor deflation happens when all thread have arrived at >> safepoint, but is single-threaded by the VM thread. This patch >> implements per-thread idle monitor deflation. This will deflate monitors >> when GC calls into Thread::oops_do() or possibly_parallel_oops_do(), and >> utilizes the GC worker threads to deflate monitors. This should >> parallelize well, and behave better on caches (synchronizer roots are >> scanned right after deflation!). All is enabled by >> -XX:+DeflateIdleMonitorsPerThread. >> >> http://cr.openjdk.java.net/~rkennke/deflate-per-thread/webrev.00/ Looks good. -Aleksey From rkennke at redhat.com Tue May 16 07:47:28 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 16 May 2017 09:47:28 +0200 Subject: RFR: Skip RESOLVE when references update is not needed In-Reply-To: <01286ece-d2ba-b310-bf7d-db4859af930b@redhat.com> References: <01286ece-d2ba-b310-bf7d-db4859af930b@redhat.com> Message-ID: Am 15.05.2017 um 17:42 schrieb Aleksey Shipilev: > Hi, > > When UR pass is done, we know there are no to-space references in heap anymore, > and we might as well skip their resolving until the next evac. Concurrent mark > already does specialize this for main loop, but not for the init mark, and > concurrent code cache scan. We had this idea before, but until UR were turned on > by default, this only affected the GC cycle after Full GC. Now it affects most > cycles. > > Patch: > http://cr.openjdk.java.net/~shade/shenandoah/initmark-skip-resolve/webrev.01/ > > Significantly improves performance when root set is heavy: > http://cr.openjdk.java.net/~shade/shenandoah/initmark-skip-resolve/perf.txt > > Testing: hotspot_gc_shenandoah; jcstress -m quick > > Thanks, > -Aleksey > Great! Yes! Roman From rkennke at redhat.com Tue May 16 07:47:55 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 16 May 2017 09:47:55 +0200 Subject: RFR: Print correct message about gross times in stats In-Reply-To: References: Message-ID: <3e1f048a-63c8-2cbb-61c6-9ac160b4dc45@redhat.com> Am 15.05.2017 um 20:13 schrieb Aleksey Shipilev: > Hi, > > We should make it clear gross times are not only about TTSP, but about the > entire safepoint mechanics. Let's make it say this: > > $ hg diff > diff -r 4931b832162d src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp > --- a/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Fri May 12 > 17:06:04 2017 +0200 > +++ b/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Mon May 15 > 20:10:38 2017 +0200 > @@ -1018,7 +1018,9 @@ > void ShenandoahCollectorPolicy::print_tracing_info(outputStream* out) { > out->cr(); > out->print_cr("GC STATISTICS:"); > - out->print_cr(" \"(G)\" (gross) pauses include time to safepoint. \"(N)\" > (net) pauses are times spent in GC."); > + out->print_cr(" \"(G)\" (gross) pauses include VM time: time to notify and > block threads, do the pre-"); > + out->print_cr(" and post-safepoint housekeeping. Use > -XX:+PrintSafepointStatistics to dissect."); > + out->print_cr(" \"(N)\" (net) pauses are the times spent in the actual GC > code."); > out->print_cr(" \"a\" is average time for each phase, look at levels to see > if average makes sense."); > out->print_cr(" \"lvls\" are quantiles: 0%% (minimum), 25%%, 50%% (median), > 75%%, 100%% (maximum)."); > out->cr(); > > Thanks, > -Aleksey > Yes From rkennke at redhat.com Tue May 16 07:49:56 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 16 May 2017 09:49:56 +0200 Subject: RFR: Variable steps in adaptive heuristics In-Reply-To: <40bd5b2f-5a02-3215-154e-00c385174dab@redhat.com> References: <40bd5b2f-5a02-3215-154e-00c385174dab@redhat.com> Message-ID: <620a0ba0-7789-597c-62e6-8df879416653@redhat.com> Am 15.05.2017 um 21:24 schrieb Aleksey Shipilev: > Hi, > > Current adaptive heuristics makes only +1 or -1 steps for free threshold, > depending on conditions. > > This is not good for several reasons: > a) Full GC means something going completely awry, and we need to step back hard > to alleviate this. Stepping one percent is not going to cut it, because we will > probably run into another Full GC; > b) Cancelled GC means something had changed so much, that we blew the free > threshold completely -- like a workload phase change -- and we should step back > harder to see what is going on. > c) When the initial guess for free threshold is wrong, it would take a while to > arrive to most optimal one with small steps. > > The idea is to make variable steps, depending on distance from target and/or > exceptional circumstances: > http://cr.openjdk.java.net/~shade/shenandoah/adaptive-varsteps/webrev.01/ > > Testing: hotspot_gc_shenandoah, specjbb, specjvm > > Thanks, > -Aleksey > > Ok, yes! From ashipile at redhat.com Tue May 16 10:06:07 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 16 May 2017 10:06:07 +0000 Subject: hg: shenandoah/jdk9/hotspot: 3 new changesets Message-ID: <201705161006.v4GA67iR012907@aojmv0008.oracle.com> Changeset: 477814772114 Author: shade Date: 2017-05-16 11:22 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/477814772114 Variable steps in adaptive heuristics ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoah_globals.hpp Changeset: fc29358b2d4d Author: shade Date: 2017-05-16 11:56 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/fc29358b2d4d Print correct message about gross times in stats ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Changeset: bbb8e765c863 Author: shade Date: 2017-05-16 12:04 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/bbb8e765c863 Skip RESOLVE when references update is not needed ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp From ashipile at redhat.com Tue May 16 11:00:30 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 16 May 2017 11:00:30 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 3 new changesets Message-ID: <201705161100.v4GB0UuU002541@aojmv0008.oracle.com> Changeset: edae7c21879d Author: shade Date: 2017-05-16 12:37 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/edae7c21879d [backport] Variable steps in adaptive heuristics ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp Changeset: a891895706c2 Author: shade Date: 2017-05-16 12:47 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/a891895706c2 [backport] Print correct message about gross times in stats ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp Changeset: ce0042742112 Author: shade Date: 2017-05-16 12:58 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/ce0042742112 [backport] Skip RESOLVE when references update is not needed ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp From shade at redhat.com Tue May 16 15:25:14 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 16 May 2017 17:25:14 +0200 Subject: RFR: Separate Full GC root operations in GC stats Message-ID: The only thing that Full GC shares with Init Mark is root operations. Sometimes what is clearly the Full GC root operation gets reported under Init Mark, confusing the analysis. Patch: http://cr.openjdk.java.net/~shade/shenandoah/stats-fullgc-roots/webrev.01/ Sample output: http://cr.openjdk.java.net/~shade/shenandoah/stats-fullgc-roots/perf.txt Testing: hotspot_gc_shenandoah -Aleksey From rkennke at redhat.com Tue May 16 15:34:54 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 16 May 2017 17:34:54 +0200 Subject: RFR: Separate Full GC root operations in GC stats In-Reply-To: References: Message-ID: Am 16.05.2017 um 17:25 schrieb Aleksey Shipilev: > The only thing that Full GC shares with Init Mark is root operations. Sometimes > what is clearly the Full GC root operation gets reported under Init Mark, > confusing the analysis. > > Patch: > http://cr.openjdk.java.net/~shade/shenandoah/stats-fullgc-roots/webrev.01/ > > Sample output: > http://cr.openjdk.java.net/~shade/shenandoah/stats-fullgc-roots/perf.txt > > Testing: hotspot_gc_shenandoah > > -Aleksey > Ok From ashipile at redhat.com Tue May 16 15:37:16 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 16 May 2017 15:37:16 +0000 Subject: hg: shenandoah/jdk9/hotspot: Separate Full GC root operations in GC stats Message-ID: <201705161537.v4GFbGJx016243@aojmv0008.oracle.com> Changeset: 1451ffa899f7 Author: shade Date: 2017-05-16 17:34 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/1451ffa899f7 Separate Full GC root operations in GC stats ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp From ashipile at redhat.com Tue May 16 15:43:41 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 16 May 2017 15:43:41 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Separate Full GC root operations in GC stats Message-ID: <201705161543.v4GFhfUH021714@aojmv0008.oracle.com> Changeset: e10289c0553d Author: shade Date: 2017-05-16 17:41 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/e10289c0553d [backport] Separate Full GC root operations in GC stats ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp From zgu at redhat.com Tue May 16 20:15:10 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 16 May 2017 16:15:10 -0400 Subject: RFR(XS): Matrix inbound regions do not get clear in most of cases Message-ID: <4c8d1705-f05c-f757-553e-0a7089b392ca@redhat.com> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/clean_matrix_inbound/webrev.00/ Test: fastdebug and release build: hotspot_gc_shenandoah Modified gcbasher on to-gc1 -Zhengyu From shade at redhat.com Tue May 16 20:18:28 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 16 May 2017 22:18:28 +0200 Subject: RFR(XS): Matrix inbound regions do not get clear in most of cases In-Reply-To: <4c8d1705-f05c-f757-553e-0a7089b392ca@redhat.com> References: <4c8d1705-f05c-f757-553e-0a7089b392ca@redhat.com> Message-ID: On 05/16/2017 10:15 PM, Zhengyu Gu wrote: > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/clean_matrix_inbound/webrev.00/ D'oh. Looks good. Let me do add ASSERT blocks in the follow-up patches. -Aleksey From zgu at redhat.com Tue May 16 20:20:55 2017 From: zgu at redhat.com (zgu at redhat.com) Date: Tue, 16 May 2017 20:20:55 +0000 Subject: hg: shenandoah/jdk9/hotspot: Matrix inbound regions do not clear for the most of cases Message-ID: <201705162020.v4GKKtUC007888@aojmv0008.oracle.com> Changeset: 83ebd5aa56ef Author: zgu Date: 2017-05-16 15:42 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/83ebd5aa56ef Matrix inbound regions do not clear for the most of cases ! src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.inline.hpp From shade at redhat.com Tue May 16 20:33:12 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 16 May 2017 22:33:12 +0200 Subject: RFR: Add asserts to SHConnMatrix::clear_* methods Message-ID: <000e675c-4d1d-9524-77e9-e66d68793755@redhat.com> It makes sense to assert more thoroughly in clear_* methods to avoid bugs like the one Zhengyu fixed recently: http://cr.openjdk.java.net/~shade/shenandoah/matrix-asserts-1/webrev.01/ Testing: hotspot_gc_shenandoah -Aleksey From zgu at redhat.com Tue May 16 21:00:56 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Tue, 16 May 2017 17:00:56 -0400 Subject: RFR: Add asserts to SHConnMatrix::clear_* methods In-Reply-To: <000e675c-4d1d-9524-77e9-e66d68793755@redhat.com> References: <000e675c-4d1d-9524-77e9-e66d68793755@redhat.com> Message-ID: <82a79e89-d9fd-2543-53b4-f05f786bd03d@redhat.com> Good to me. -Zhengyu On 05/16/2017 04:33 PM, Aleksey Shipilev wrote: > It makes sense to assert more thoroughly in clear_* methods to avoid bugs like > the one Zhengyu fixed recently: > http://cr.openjdk.java.net/~shade/shenandoah/matrix-asserts-1/webrev.01/ > > Testing: hotspot_gc_shenandoah > > -Aleksey > > From rkennke at redhat.com Tue May 16 21:03:48 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 16 May 2017 23:03:48 +0200 Subject: RFR: Improve deflating even more Message-ID: <9b2cc0d9-dcad-3045-5bd0-fe835eb0d15b@redhat.com> Discussions on hotspot-runtime-dev and code inspection have shown a problem with the recent monitor deflating change. When allocating object monitors, and we exceed a certain threshold, ObjectSynchronizer induces a special empty safepoint that only serves to deflate idle monitors. However, last changed made that a no-op. We're potentially piling up idle monitors until next GC safepoint, which can be longish. Another problem is that most GCs (basically all but Shenandoah at this point) can't handle per-thread deflation, because they store away mark words, and abuse them as forwarding pointer. However, for deflation we need the real mark word. This patch: - adds a check for the forced-deflating situation, and deflates monitors when running into this forced deflation safepoint and for GCs that don't support per-thread deflation. - Collapses deflation and oop iteration into one pass, if supported by GC - Adds some machinery to ask the GC to deflate idle monitors using multiple GC threads, even for no-GC safepoints - Adds some GC interfaces to ask the GC if it supports per-thread deflation http://cr.openjdk.java.net/~rkennke/deflating/webrev.00/ Testing: hotspot_gc_shenandoah, jcstress, specjvm Ok? From shade at redhat.com Tue May 16 21:12:40 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 16 May 2017 23:12:40 +0200 Subject: RFR: Improve deflating even more In-Reply-To: <9b2cc0d9-dcad-3045-5bd0-fe835eb0d15b@redhat.com> References: <9b2cc0d9-dcad-3045-5bd0-fe835eb0d15b@redhat.com> Message-ID: <60d45c62-5962-c726-3e21-7a90d0de886e@redhat.com> On 05/16/2017 11:03 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/deflating/webrev.00/ Threads::parallel_threads_do -> Threads::parallel_java_threads_do? Otherwise seems fine for testing. We'd need to see if that is the final form for upstreaming soonish. -Aleksey From ashipile at redhat.com Tue May 16 21:14:17 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 16 May 2017 21:14:17 +0000 Subject: hg: shenandoah/jdk9/hotspot: Add asserts to SHConnMatrix::clear_* methods Message-ID: <201705162114.v4GLEIWk024576@aojmv0008.oracle.com> Changeset: 3b72ef7ad344 Author: shade Date: 2017-05-16 23:07 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/3b72ef7ad344 Add asserts to SHConnMatrix::clear_* methods ! src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.inline.hpp From roman at kennke.org Tue May 16 21:30:21 2017 From: roman at kennke.org (roman at kennke.org) Date: Tue, 16 May 2017 21:30:21 +0000 Subject: hg: shenandoah/jdk9/hotspot: Improve deflating even more. Message-ID: <201705162130.v4GLULV8000704@aojmv0008.oracle.com> Changeset: f42fc313b007 Author: rkennke Date: 2017-05-16 23:28 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/f42fc313b007 Improve deflating even more. ! src/share/vm/gc/shared/collectedHeap.cpp ! src/share/vm/gc/shared/collectedHeap.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp From shade at redhat.com Wed May 17 15:52:00 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 17 May 2017 17:52:00 +0200 Subject: RFR: Adaptive should not be scared of user-requested System.gc() Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/adaptive-silent-sysgc/webrev.01/ Users may trigger System.gc() for their own reasons, we might as well ignore that in heuristics decisions that observe the heap occupancies. Also refactors a bit. Testing: hotspot_gc_shenandoah, sanity benchmark runs Thanks, -Aleksey From rkennke at redhat.com Wed May 17 15:54:23 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 17 May 2017 17:54:23 +0200 Subject: RFR: Adaptive should not be scared of user-requested System.gc() In-Reply-To: References: Message-ID: <02947496-1afe-4096-4d6c-2a33bbf4bc86@redhat.com> Am 17.05.2017 um 17:52 schrieb Aleksey Shipilev: > http://cr.openjdk.java.net/~shade/shenandoah/adaptive-silent-sysgc/webrev.01/ > > Users may trigger System.gc() for their own reasons, we might as well ignore > that in heuristics decisions that observe the heap occupancies. Also refactors a > bit. > > Testing: hotspot_gc_shenandoah, sanity benchmark runs > > Thanks, > -Aleksey > Ok From ashipile at redhat.com Wed May 17 15:58:26 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 17 May 2017 15:58:26 +0000 Subject: hg: shenandoah/jdk9/hotspot: Adaptive should not be scared of user-requested System.gc() Message-ID: <201705171558.v4HFwQK7020036@aojmv0008.oracle.com> Changeset: 8d83c6e30c74 Author: shade Date: 2017-05-17 17:56 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/8d83c6e30c74 Adaptive should not be scared of user-requested System.gc() ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp From ashipile at redhat.com Wed May 17 16:07:25 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 17 May 2017 16:07:25 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Adaptive should not be scared of user-requested System.gc() Message-ID: <201705171607.v4HG7PHA024807@aojmv0008.oracle.com> Changeset: 82747e54dfd4 Author: shade Date: 2017-05-17 18:05 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/82747e54dfd4 [backport] Adaptive should not be scared of user-requested System.gc() ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp From shade at redhat.com Fri May 19 08:07:03 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Fri, 19 May 2017 10:07:03 +0200 Subject: RFR: jdk 9b170 merge Message-ID: <5c34703f-a000-778a-d700-de03c3957862@redhat.com> Hi, Merge from http://hg.openjdk.java.net/jdk9/jdk9/ at jdk-9+170 is ready, merged without conflicts: http://cr.openjdk.java.net/~shade/shenandoah/merge-jdk9b170/ Comes with Module System update, JVMCI updates, string/symbol table leak fix, and a bunch of compiler fixes. Does not require jtreg. Passes hotspot_gc_shenandoah fine in both release and fastdebug. Ok to push? -Aleksey From rkennke at redhat.com Fri May 19 08:11:07 2017 From: rkennke at redhat.com (Roman Kennke) Date: Fri, 19 May 2017 10:11:07 +0200 Subject: RFR: jdk 9b170 merge In-Reply-To: <5c34703f-a000-778a-d700-de03c3957862@redhat.com> References: <5c34703f-a000-778a-d700-de03c3957862@redhat.com> Message-ID: <1113AA68-28F3-418A-A74C-49ABFE9A6CDD@redhat.com> Ok Am 19. Mai 2017 10:07:03 MESZ schrieb Aleksey Shipilev : >Hi, > >Merge from http://hg.openjdk.java.net/jdk9/jdk9/ at jdk-9+170 is ready, >merged >without conflicts: > http://cr.openjdk.java.net/~shade/shenandoah/merge-jdk9b170/ > >Comes with Module System update, JVMCI updates, string/symbol table >leak fix, >and a bunch of compiler fixes. Does not require jtreg. Passes >hotspot_gc_shenandoah fine in both release and fastdebug. > >Ok to push? > >-Aleksey -- Sent from my FairPhone From ashipile at redhat.com Fri May 19 08:32:29 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 19 May 2017 08:32:29 +0000 Subject: hg: shenandoah/jdk9/corba: 7 new changesets Message-ID: <201705190832.v4J8WTjm012059@aojmv0008.oracle.com> Changeset: 43de67f51801 Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/corba/rev/43de67f51801 Added tag jdk-9+166 for changeset 934c18145915 ! .hgtags Changeset: 03a2cc9c8a1e Author: lana Date: 2017-04-27 16:07 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/corba/rev/03a2cc9c8a1e Added tag jdk-9+167 for changeset 43de67f51801 ! .hgtags Changeset: b2218d41edef Author: lana Date: 2017-05-04 16:38 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/corba/rev/b2218d41edef Added tag jdk-9+168 for changeset 03a2cc9c8a1e ! .hgtags Changeset: 72bb2cd3f013 Author: lana Date: 2017-05-11 16:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/corba/rev/72bb2cd3f013 Added tag jdk-9+169 for changeset b2218d41edef ! .hgtags Changeset: a3e210a93f90 Author: jjg Date: 2017-05-10 15:24 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/corba/rev/a3e210a93f90 8180041: Fix HTML 5 issues in java.corba Reviewed-by: alanb, lancea ! src/java.corba/share/classes/com/sun/corba/se/spi/monitoring/package.html ! src/java.corba/share/classes/org/omg/CORBA/Any.java ! src/java.corba/share/classes/org/omg/CORBA/ORB.java ! src/java.corba/share/classes/org/omg/CORBA/doc-files/compliance.html ! src/java.corba/share/classes/org/omg/CORBA/doc-files/generatedfiles.html ! src/java.corba/share/classes/org/omg/CORBA/package.html ! src/java.corba/share/classes/org/omg/CORBA/portable/package.html ! src/java.corba/share/classes/org/omg/CORBA_2_3/package.html ! src/java.corba/share/classes/org/omg/PortableInterceptor/IOP.idl ! src/java.corba/share/classes/org/omg/PortableInterceptor/Interceptors.idl ! src/java.corba/share/classes/org/omg/PortableInterceptor/package.html ! src/java.corba/share/classes/org/omg/PortableServer/package.html Changeset: 8a4ab3b0ab9a Author: lana Date: 2017-05-11 18:10 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/corba/rev/8a4ab3b0ab9a Merge Changeset: c62e5964cfcf Author: lana Date: 2017-05-18 14:54 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/corba/rev/c62e5964cfcf Added tag jdk-9+170 for changeset 8a4ab3b0ab9a ! .hgtags From ashipile at redhat.com Fri May 19 08:32:32 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 19 May 2017 08:32:32 +0000 Subject: hg: shenandoah/jdk9/jaxws: 7 new changesets Message-ID: <201705190832.v4J8WWi4012289@aojmv0008.oracle.com> Changeset: eea021f7411c Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxws/rev/eea021f7411c Added tag jdk-9+166 for changeset b1f30c27367b ! .hgtags Changeset: 1c610f1b4097 Author: aefimov Date: 2017-04-24 18:21 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxws/rev/1c610f1b4097 8176168: Performance drop due to SAXParser SymbolTable reset Reviewed-by: joehw, lancea ! src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/util/ParserPool.java Changeset: 2746716dcc5a Author: lana Date: 2017-04-27 16:07 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxws/rev/2746716dcc5a Added tag jdk-9+167 for changeset 1c610f1b4097 ! .hgtags Changeset: e66ea56c8751 Author: lana Date: 2017-05-04 16:38 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxws/rev/e66ea56c8751 Added tag jdk-9+168 for changeset 2746716dcc5a ! .hgtags Changeset: 912cf69806d5 Author: lancea Date: 2017-05-05 13:32 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxws/rev/912cf69806d5 8179566: Add additional jaxws messages to be translated Reviewed-by: alanb, mchung + src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/newmessages.properties Changeset: e75d3abe579a Author: lana Date: 2017-05-11 16:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxws/rev/e75d3abe579a Added tag jdk-9+169 for changeset 912cf69806d5 ! .hgtags Changeset: 139e7c786ee4 Author: lana Date: 2017-05-18 14:54 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxws/rev/139e7c786ee4 Added tag jdk-9+170 for changeset e75d3abe579a ! .hgtags From ashipile at redhat.com Fri May 19 08:32:35 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 19 May 2017 08:32:35 +0000 Subject: hg: shenandoah/jdk9/nashorn: 14 new changesets Message-ID: <201705190832.v4J8WZd2012334@aojmv0008.oracle.com> Changeset: 85bf1d0aeb09 Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/85bf1d0aeb09 Added tag jdk-9+166 for changeset 5b2e7b2101c0 ! .hgtags Changeset: 03e5f1316a2d Author: sundar Date: 2017-04-19 14:05 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/03e5f1316a2d 8178954: jjs uses wrong javadoc base URL Reviewed-by: hannesw ! src/jdk.scripting.nashorn.shell/share/classes/jdk/nashorn/tools/jjs/Main.java Changeset: c9ffb95dfef4 Author: sundar Date: 2017-04-19 15:34 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/c9ffb95dfef4 8178315: nashorn ant build failure with @moduleGraph javadoc tag Summary: Added support for moduleGraph tag Reviewed-by: sundar, hannesw Contributed-by: srinivas.dama at oracle.com ! make/project.properties Changeset: b9a42a98ec1d Author: jlahoda Date: 2017-04-19 13:38 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/b9a42a98ec1d 8178012: Finish removal of -Xmodule: Summary: Setting jtreg to use --patch-module instead of -Xmodule:. Reviewed-by: alanb ! test/TEST.ROOT Changeset: a623ab461523 Author: vtewari Date: 2017-04-12 14:35 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/a623ab461523 8177656: Closed/nashorn/JDK_8034967.java starts failing (all platforms) since 9/154 Reviewed-by: jlaskey ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader.java Changeset: e118c818dbf8 Author: lana Date: 2017-04-21 03:33 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/e118c818dbf8 Merge Changeset: 98935976d88c Author: lana Date: 2017-04-27 16:07 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/98935976d88c Added tag jdk-9+167 for changeset e118c818dbf8 ! .hgtags Changeset: a3022cc65b17 Author: jjg Date: 2017-04-26 10:56 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/a3022cc65b17 8179304: Fix HTML 5 errors in jdk.scripting.nashorn and jdk.dynalink module Reviewed-by: sundar, jlaskey, hannesw ! src/jdk.dynalink/share/classes/jdk/dynalink/StandardOperation.java ! src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardingTypeConverterFactory.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/TreeVisitor.java Changeset: 0f81cde5a1f7 Author: lana Date: 2017-04-27 21:16 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/0f81cde5a1f7 Merge Changeset: c78163ad1a4e Author: lana Date: 2017-05-04 16:38 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/c78163ad1a4e Added tag jdk-9+168 for changeset 0f81cde5a1f7 ! .hgtags Changeset: 131e25008015 Author: ihse Date: 2017-05-09 12:54 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/131e25008015 8179889: Fix typographic errors in copyright headers Reviewed-by: erikj, dholmes ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/SpillObjectCreator.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/TypeMap.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/SpillProperty.java ! test/script/basic/JDK-8150218.js ! test/script/basic/JDK-8170594.js ! test/script/basic/JDK-8171849.js ! test/script/basic/es6/JDK-8168373.js Changeset: 597d3dc02579 Author: lana Date: 2017-05-11 16:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/597d3dc02579 Added tag jdk-9+169 for changeset 131e25008015 ! .hgtags Changeset: 550bfc15779f Author: sdama Date: 2017-05-12 12:12 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/550bfc15779f 8179891: JavaDoc for for..in is incorrect Summary: Fixed javadoc typo error Reviewed-by: sundar, hannesw, jlaskey Contributed-by: srinivas.dama at oracle.com ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ForOfLoopTree.java Changeset: fc416270a776 Author: lana Date: 2017-05-18 14:54 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/nashorn/rev/fc416270a776 Added tag jdk-9+170 for changeset 550bfc15779f ! .hgtags From ashipile at redhat.com Fri May 19 08:32:37 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 19 May 2017 08:32:37 +0000 Subject: hg: shenandoah/jdk9/langtools: 49 new changesets Message-ID: <201705190832.v4J8WcD6012350@aojmv0008.oracle.com> Changeset: 151bc67acf92 Author: mcimadamore Date: 2017-04-11 14:03 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/151bc67acf92 8178414: T8177933.java fails even after fix for JDK-8178283 Summary: add T8177933.java to problem list Reviewed-by: jlahoda ! test/ProblemList.txt Changeset: 256d9fce6c53 Author: rfield Date: 2017-04-11 17:26 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/256d9fce6c53 8178023: jshell tool: crash with ugly message on attempt to add non-existant module path Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n.properties ! src/jdk.jshell/share/classes/jdk/jshell/execution/FailOverExecutionControlProvider.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/JdiInitiator.java ! test/jdk/jshell/DyingRemoteAgent.java ! test/jdk/jshell/HangingRemoteAgent.java ! test/jdk/jshell/HistoryTest.java ! test/jdk/jshell/JdiBadOptionLaunchExecutionControlTest.java ! test/jdk/jshell/JdiBadOptionListenExecutionControlTest.java ! test/jdk/jshell/JdiBogusHostListenExecutionControlTest.java ! test/jdk/jshell/ReplToolTesting.java ! test/jdk/jshell/StartOptionTest.java ! test/jdk/jshell/ToolProviderTest.java ! test/jdk/jshell/ToolReloadTest.java ! test/jdk/jshell/UITesting.java Changeset: 3e7eab1d1e96 Author: ksrini Date: 2017-04-12 11:42 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/3e7eab1d1e96 8178067: support for @uses/@provides tags is broken Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! test/jdk/javadoc/doclet/lib/JavadocTester.java + test/jdk/javadoc/doclet/testModules/TestModuleServices.java ! test/jdk/javadoc/doclet/testModules/TestModules.java ! test/tools/lib/toolbox/ModuleBuilder.java Changeset: 688279815c27 Author: ksrini Date: 2017-04-12 13:48 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/688279815c27 8178686: Fix incorrect bug id in test. Reviewed-by: darcy ! test/jdk/javadoc/doclet/testModules/TestModuleServices.java Changeset: 42705de602d7 Author: lana Date: 2017-04-13 16:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/42705de602d7 Merge Changeset: b51c0ba6fd8f Author: rfield Date: 2017-04-13 14:11 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/b51c0ba6fd8f 8178520: jshell tool: /help /save -- incorrect description of /save -start Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n.properties Changeset: ad2910e96239 Author: jjg Date: 2017-04-14 15:54 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/ad2910e96239 8178426: Extra } is coming in the javadoc of Taglet.toString() API Reviewed-by: ksrini, bpatel ! src/jdk.javadoc/share/classes/jdk/javadoc/doclet/Taglet.java Changeset: d2f92cb767a6 Author: bpatel Date: 2017-04-14 17:23 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/d2f92cb767a6 8175823: doclet crashes when documenting a single class in a module. Reviewed-by: jjg, ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! test/jdk/javadoc/doclet/testModules/TestModules.java + test/jdk/javadoc/doclet/testModules/moduleNoExport/module-info.java + test/jdk/javadoc/doclet/testModules/moduleNoExport/testpkgmdlNoExport/TestClassInModuleNoExport.java Changeset: 8b68fb0d8159 Author: jjg Date: 2017-04-17 14:16 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/8b68fb0d8159 8178509: MODULE_SOURCE_PATH: Implement missing methods 8178493: StandardJavaFileManager: Clarify/document the use of IllegalStateException Reviewed-by: jlahoda ! src/java.compiler/share/classes/javax/tools/StandardJavaFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java ! test/tools/javac/modules/ModuleSourcePathTest.java ! test/tools/lib/toolbox/JavacTask.java Changeset: 229a32ad3b26 Author: jjg Date: 2017-04-17 15:08 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/229a32ad3b26 8176801: tools/javac/platform/PlatformProviderTest.java sensitive to warnings sent to stderr Reviewed-by: ksrini ! test/ProblemList.txt Changeset: 2a8b403a6233 Author: jjg Date: 2017-04-17 15:28 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/2a8b403a6233 8161295: javac, cleanup use of ModuleTestBase Reviewed-by: ksrini ! test/tools/javac/modules/ModuleTestBase.java Changeset: 2bd173891dcf Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/2bd173891dcf Added tag jdk-9+166 for changeset 2a8b403a6233 ! .hgtags Changeset: 5aa6f825b4ec Author: jjg Date: 2017-04-17 17:03 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/5aa6f825b4ec 8162917: langtools/test/tools/javadoc/CompletionError.java is not runnable Reviewed-by: ksrini ! test/tools/javadoc/CompletionError.java Changeset: b9a29aa786dd Author: ksrini Date: 2017-04-18 06:29 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/b9a29aa786dd 8178339: javadoc includes qualified opens in "Additional Opened Packages" section Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java + test/jdk/javadoc/doclet/testModules/TestIndirectExportsOpens.java ! test/jdk/javadoc/doclet/testModules/TestModules.java ! test/tools/lib/toolbox/ModuleBuilder.java Changeset: 7977d89e3d58 Author: ksrini Date: 2017-04-18 13:39 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/7977d89e3d58 8178904: javadoc jdk/javadoc/doclet/testModules/TestIndirectExportsOpens.java fails Reviewed-by: jjg ! test/jdk/javadoc/doclet/testModules/TestIndirectExportsOpens.java Changeset: 4e5cf20add94 Author: darcy Date: 2017-04-18 13:43 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/4e5cf20add94 8178916: Update annotation processing API for terminology changes in modules Reviewed-by: jjg ! src/java.compiler/share/classes/javax/annotation/processing/Processor.java ! src/java.compiler/share/classes/javax/lang/model/element/ModuleElement.java Changeset: 4bc3bdb40687 Author: jjg Date: 2017-04-18 15:03 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/4bc3bdb40687 8157763: update links to technotes in javadoc API Reviewed-by: ksrini ! src/jdk.compiler/share/classes/com/sun/source/doctree/package-info.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/jdk.javadoc/share/classes/com/sun/tools/doclets/Taglet.java ! src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/JavaScriptScanner.java Changeset: 770234a2ab10 Author: jlahoda Date: 2017-04-19 11:36 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/770234a2ab10 8178035: MergedTabShiftTabTest sometimes time outs Summary: Splitting MergedTabShiftTabTest into two tests, increasing timeout. Reviewed-by: rfield ! test/jdk/jshell/HistoryUITest.java + test/jdk/jshell/MergedTabShiftTabCommandTest.java + test/jdk/jshell/MergedTabShiftTabExpressionTest.java - test/jdk/jshell/MergedTabShiftTabTest.java ! test/jdk/jshell/UITesting.java Changeset: 7c4f03097a05 Author: jlahoda Date: 2017-04-19 13:38 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/7c4f03097a05 8178012: Finish removal of -Xmodule: Summary: Changing -Xmodule: option to -XD-Xmodule:, setting jtreg to use --patch-module instead of -Xmodule:. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! test/TEST.ROOT + test/tools/javac/modules/LegacyXModuleTest.java Changeset: 68536b95691c Author: bpatel Date: 2017-04-19 10:26 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/68536b95691c 8176452: Javadoc UI style issue with index in description. Reviewed-by: jjg, ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/jdk/javadoc/doclet/testStylesheet/pkg/A.java Changeset: f13bda195619 Author: jlahoda Date: 2017-04-20 13:43 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/f13bda195619 8178481: jdk/jshell/CompletionSuggestionTest.java routinely fails Summary: Depending on the test order, the completion after 'import c' may include additional entries besides 'com', only checking 'com' is present. Reviewed-by: rfield ! test/jdk/jshell/CompletionSuggestionTest.java Changeset: 9be30ec2401e Author: ksrini Date: 2017-04-20 14:37 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/9be30ec2401e 8178830: standard doclet: -javafx option should be unhidden Reviewed-by: bpatel, jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Configuration.java ! test/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java Changeset: 7d89c9c5d41f Author: lana Date: 2017-04-21 03:34 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/7d89c9c5d41f Merge - test/jdk/jshell/MergedTabShiftTabTest.java Changeset: e5707ba051dc Author: jjiang Date: 2017-04-21 19:33 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/e5707ba051dc 8179066: Add jdk/jshell/MergedTabShiftTabExpressionTest.java to ProblemList due to JDK-8179002 Reviewed-by: rfield ! test/ProblemList.txt Changeset: afe5cd584dce Author: rfield Date: 2017-04-21 12:27 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/afe5cd584dce 8178992: jshell tool: missing references in /help /set mode Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n.properties Changeset: b8a35541a048 Author: jjg Date: 2017-04-20 16:13 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/b8a35541a048 8178017: JDK 9 change to symlink handling causes misleading class.public.should.be.in.file diagnostic Reviewed-by: jlahoda, cushon ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/PathFileObject.java + test/tools/javac/file/SymLinkTest.java Changeset: d4a4dd242791 Author: jjg Date: 2017-04-21 13:58 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/d4a4dd242791 Merge Changeset: 3248e421620b Author: jlahoda Date: 2017-04-24 18:58 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/3248e421620b 8179002: jdk/jshell/MergedTabShiftTabExpressionTest.java fails intermittently Summary: Handle incomming byte arrays in batches, to avoid unnecessary matching. Reviewed-by: rfield ! test/ProblemList.txt ! test/jdk/jshell/UITesting.java Changeset: f260f1a2acf6 Author: jjg Date: 2017-04-24 14:59 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/f260f1a2acf6 8176327: javac produces wrong module-info 8178518: Add method JavaFileManager.contains Reviewed-by: jlahoda ! src/java.compiler/share/classes/javax/tools/ForwardingJavaFileManager.java ! src/java.compiler/share/classes/javax/tools/JavaFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/ClientCodeWrapper.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/WrappingJavaFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.jshell/share/classes/jdk/jshell/MemoryFileManager.java ! test/tools/doclint/ProvidesTest.java ! test/tools/doclint/ProvidesTest.out ! test/tools/doclint/UsesTest.java ! test/tools/doclint/UsesTest.out ! test/tools/javac/api/TestClientCodeWrapper.java + test/tools/javac/diags/examples/FileShouldBeOnSourcePathOrPatchPath/FileShouldBeOnSourcePathOrModulePath.java + test/tools/javac/diags/examples/FileShouldBeOnSourcePathOrPatchPath/sourcepath/module-info.java ! test/tools/javac/file/ModuleAndPackageLocations.java + test/tools/javac/modules/ContainsTest.java + test/tools/javac/modules/SourcePathTest.java ! test/tools/javac/modules/T8158224/T8158224.java - test/tools/javac/modules/T8158224/T8158224.out Changeset: 7e0ac3c3eaba Author: lana Date: 2017-04-27 16:07 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/7e0ac3c3eaba Added tag jdk-9+167 for changeset f260f1a2acf6 ! .hgtags Changeset: 13f457e05af0 Author: smarks Date: 2017-04-25 16:14 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/13f457e05af0 8168444: (jdeprscan) improper handling of primitives and primitive array types Reviewed-by: psandoz, jjg ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/Scan.java ! test/tools/jdeprscan/tests/jdk/jdeprscan/TestLoadExpected.csv + test/tools/jdeprscan/tests/jdk/jdeprscan/TestPrims.csv + test/tools/jdeprscan/tests/jdk/jdeprscan/TestPrims.java Changeset: fff0714129d8 Author: jjg Date: 2017-04-25 18:35 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/fff0714129d8 8179299: Fix HTML 5 errors in java.compiler module 8179300: Fix HTML 5 errors in jdk.compiler module 8179301: Fix HTML 5 errors in jdk.javadoc module 8179303: Fix HTML 5 errors in jdk.jshell module Reviewed-by: darcy ! src/java.compiler/share/classes/javax/lang/model/element/ModuleElement.java ! src/java.compiler/share/classes/javax/tools/JavaFileManager.java ! src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java ! src/jdk.compiler/share/classes/com/sun/source/tree/LambdaExpressionTree.java ! src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java ! src/jdk.javadoc/share/classes/com/sun/javadoc/FieldDoc.java ! src/jdk.javadoc/share/classes/com/sun/javadoc/MethodDoc.java ! src/jdk.javadoc/share/classes/com/sun/javadoc/Tag.java ! src/jdk.javadoc/share/classes/com/sun/javadoc/package-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/doclet/package-info.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/JdiExecutionControlProvider.java Changeset: 6a8ceafed0e8 Author: bpatel Date: 2017-04-26 08:15 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/6a8ceafed0e8 8166306: Broken link for All Packages in java.jnlp module Reviewed-by: jjg, ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractPackageIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! test/jdk/javadoc/doclet/testModules/TestModules.java Changeset: 29001eb39fd8 Author: smarks Date: 2017-04-26 15:49 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/29001eb39fd8 8169203: (jdeprscan) eliminate duplicate "can't find class" errors Reviewed-by: jjg ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/Scan.java + test/tools/jdeprscan/tests/jdk/jdeprscan/TestNotFound.java Changeset: af62fa3a3a89 Author: lana Date: 2017-04-27 21:16 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/af62fa3a3a89 Merge Changeset: bc21e5ba6bf1 Author: mcimadamore Date: 2017-04-28 11:06 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/bc21e5ba6bf1 8178437: remove tools/javac/lambda/speculative/T8177933.java Summary: remove test from test folder and from problem list Reviewed-by: jlahoda ! test/ProblemList.txt - test/tools/javac/lambda/speculative/T8177933.java Changeset: c61dc27c48d1 Author: lana Date: 2017-05-04 16:38 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/c61dc27c48d1 Added tag jdk-9+168 for changeset bc21e5ba6bf1 ! .hgtags Changeset: c4129e2ec84f Author: alanb Date: 2017-05-04 07:28 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/c4129e2ec84f 8178380: Module system implementation refresh (5/2017) Reviewed-by: jjg, mchung ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/ModuleTarget_attribute.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/AttributeWriter.java Changeset: b22dee7cea7d Author: alanb Date: 2017-05-04 09:43 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/b22dee7cea7d Merge Changeset: 5daed0e904ac Author: lana Date: 2017-05-04 17:55 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/5daed0e904ac Merge Changeset: 1faee09b8da1 Author: jlahoda Date: 2017-05-09 12:22 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/1faee09b8da1 8179531: JShell: fails to provide bytecode for dynamically created lambdas Summary: Adding support for getResource(s) to the JShell's ClassLoader Reviewed-by: psandoz, rfield ! src/jdk.jshell/share/classes/jdk/jshell/execution/DefaultLoaderDelegate.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/DirectExecutionControl.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/JdiExecutionControl.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/LoaderDelegate.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/RemoteExecutionControl.java + test/jdk/jshell/GetResourceTest.java Changeset: 0e522ff8b9f5 Author: ihse Date: 2017-05-09 12:55 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/0e522ff8b9f5 8179889: Fix typographic errors in copyright headers Reviewed-by: erikj, dholmes ! src/jdk.jshell/share/classes/jdk/jshell/JShell.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/JdiInitiator.java ! test/jdk/javadoc/doclet/testStylesheet/pkg/A.java ! test/jdk/javadoc/tool/treeapi/overview.html ! test/jdk/jshell/WrapperTest.java ! test/tools/javac/classreader/8171132/BadConstantValue.java ! test/tools/javac/modules/PoorChoiceForModuleNameTest.java ! test/tools/javadoc/sampleapi/res/fx.xml ! test/tools/javadoc/sampleapi/res/simple.xml ! test/tools/javadoc/sampleapi/res/tiny.xml Changeset: bc191bf0aa56 Author: lana Date: 2017-05-11 16:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/bc191bf0aa56 Added tag jdk-9+169 for changeset 0e522ff8b9f5 ! .hgtags Changeset: ee84b7d44339 Author: jjg Date: 2017-05-09 17:20 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/ee84b7d44339 8179479: Add new styles to enable HTML 5 tables Reviewed-by: bpatel ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css Changeset: d5c5150ad2d9 Author: lana Date: 2017-05-11 18:11 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/d5c5150ad2d9 Merge Changeset: 6ffca66728a7 Author: ksrini Date: 2017-05-11 15:12 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/6ffca66728a7 8179632: Fix the old doclet documentation Reviewed-by: jjg ! src/jdk.javadoc/share/classes/com/sun/javadoc/package-info.java ! src/jdk.javadoc/share/classes/com/sun/tools/doclets/package-info.java + src/jdk.javadoc/share/classes/com/sun/tools/doclets/standard/package-info.java Changeset: 77a2d6c1f321 Author: jlahoda Date: 2017-05-12 06:42 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/77a2d6c1f321 8178152: Handling of incubating modules, the jdk.unsupported module and --add-exports with --release Summary: --release 9 should only allow documented modules; --add-exports/--add-reads/--patch-module should not be allowed on system modules when --release 9 is used. Reviewed-by: jjg, erikj, ihse ! make/gendata/Gendata-jdk.compiler.gmk + make/src/classes/build/tools/symbolgenerator/TransitiveDependencies.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Modules.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/platform/JDKPlatformProvider.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/AddExportsWithRelease.java + test/tools/javac/diags/examples/AddReadsWithRelease.java + test/tools/javac/diags/examples/PatchModuleWithRelease/PatchModuleWithRelease.java + test/tools/javac/diags/examples/PatchModuleWithRelease/patchmodule/java.base/java/lang/Test.java ! test/tools/javac/options/release/ReleaseOptionClashes.java + test/tools/javac/options/release/ReleaseOptionUnsupported.java Changeset: 18355c879c69 Author: bpatel Date: 2017-05-12 18:05 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/18355c879c69 8178043: Support grouping modules in unified javadoc Reviewed-by: jjg, ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexFrameWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModulePackageIndexFrameWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Configuration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Group.java ! test/jdk/javadoc/doclet/testModules/TestModules.java Changeset: aae59039c1f5 Author: lana Date: 2017-05-18 14:54 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/langtools/rev/aae59039c1f5 Added tag jdk-9+170 for changeset 18355c879c69 ! .hgtags From ashipile at redhat.com Fri May 19 08:32:39 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 19 May 2017 08:32:39 +0000 Subject: hg: shenandoah/jdk9: 51 new changesets Message-ID: <201705190832.v4J8WdSe012354@aojmv0008.oracle.com> Changeset: 7d5d7ae50c72 Author: rriggs Date: 2017-04-11 14:20 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/7d5d7ae50c72 8178347: Process and ProcessHandle getPid method name inconsistency Reviewed-by: alanb, bpb ! test/lib/jdk/test/lib/apps/LingeredApp.java ! test/lib/jdk/test/lib/process/ProcessTools.java Changeset: 35fbd9906dfc Author: erikj Date: 2017-04-13 09:41 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/35fbd9906dfc 8177822: Move closed jib configuration for arm platforms to open Reviewed-by: tbell ! common/conf/jib-profiles.js Changeset: 9e093f2eaabc Author: erikj Date: 2017-04-13 09:50 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/9e093f2eaabc 8176271: Still unable to build JDK 9 on some *7 sparcs Reviewed-by: ihse ! common/conf/jib-profiles.js Changeset: 455bd4cb2482 Author: lana Date: 2017-04-13 16:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/455bd4cb2482 Merge Changeset: ba5b16c9c6d8 Author: darcy Date: 2017-04-13 14:38 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/ba5b16c9c6d8 8177553: Address removal lint warnings in the JDK build Reviewed-by: mchung, erikj ! make/common/SetupJavaCompilers.gmk Changeset: cf6ee4d4c839 Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/cf6ee4d4c839 Added tag jdk-9+166 for changeset ba5b16c9c6d8 ! .hgtags Changeset: d3c1b028c499 Author: shurailine Date: 2017-04-17 19:23 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/d3c1b028c499 8173801: Modify makefiles to not build demos and samples bundles. Reviewed-by: ihse, prr, erikj ! common/autoconf/spec.gmk.in ! common/bin/compare_exceptions.sh.incl ! common/nb_native/nbproject/configurations.xml ! make/Bundles.gmk ! make/Images.gmk ! make/Main.gmk Changeset: 566474d7b2e0 Author: ihse Date: 2017-04-19 10:24 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/566474d7b2e0 8172312: Update docs target and image for new combined docs Reviewed-by: erikj, mchung Contributed-by: Magnus Ihse Bursie , Mandy Chung ! make/Javadoc.gmk ! make/Main.gmk ! make/common/MakeBase.gmk ! make/common/Modules.gmk Changeset: 0bf994fa4ee5 Author: ihse Date: 2017-04-19 10:44 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/0bf994fa4ee5 8176785: Add build support to generate PNG file from .dot file Reviewed-by: erikj, mchung ! make/Help.gmk ! make/Javadoc.gmk ! make/Main.gmk ! make/common/Modules.gmk + make/devkit/createGraphvizBundle.sh Changeset: e5c480ca7b29 Author: ihse Date: 2017-04-19 10:58 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/e5c480ca7b29 8178965: Second part of JDK-8176785 Reviewed-by: erikj, mchung ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! common/conf/jib-profiles.js Changeset: cfdfc9d56584 Author: jlahoda Date: 2017-04-19 13:37 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/cfdfc9d56584 8178012: Finish removal of -Xmodule: Summary: Setting jtreg to use --patch-module instead of -Xmodule:, avoiding -Xmodule: in InMemoryJavaCompiler. Reviewed-by: alanb ! test/lib/jdk/test/lib/InMemoryJavaCompiler.java Changeset: d0e9877fff61 Author: mchung Date: 2017-04-20 08:00 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/d0e9877fff61 8175819: OS name and arch in JMOD files should match the values as in the bundle names Reviewed-by: erikj, ihse ! common/autoconf/generated-configure.sh ! common/autoconf/platform.m4 ! common/autoconf/spec.gmk.in ! make/CreateJmods.gmk ! make/Images.gmk Changeset: a01845fd5cfb Author: mchung Date: 2017-04-20 15:06 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/a01845fd5cfb 8179035: Include tool modules in unified docs Reviewed-by: lancea ! make/common/Modules.gmk Changeset: 118722fb3973 Author: lana Date: 2017-04-21 03:33 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/118722fb3973 Merge Changeset: 6832b2d9d1ae Author: ihse Date: 2017-04-21 11:31 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/6832b2d9d1ae 8175036: All API docs should be built for HTML 5 Reviewed-by: erikj ! make/Javadoc.gmk Changeset: e7f726bdc75d Author: ihse Date: 2017-04-23 21:10 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/e7f726bdc75d 8178038: Copy jdwp-protocol.html to proper location 8178039: Copy jvmti.html to proper location 8178316: Add JVM-MANAGEMENT-MIB.mib to jdk/src/java.management/share/specs/ Reviewed-by: erikj, mchung ! make/Javadoc.gmk ! make/Main.gmk ! make/common/Modules.gmk Changeset: 35017c286513 Author: ihse Date: 2017-04-23 21:34 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/35017c286513 8179022: Add serialization spec as markdown Reviewed-by: erikj, mchung, rriggs ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/conf/jib-profiles.js ! make/Javadoc.gmk ! make/devkit/createGraphvizBundle.sh + make/devkit/createPandocBundle.sh Changeset: 8d4bb4d437fe Author: lana Date: 2017-04-27 16:07 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/8d4bb4d437fe Added tag jdk-9+167 for changeset 35017c286513 ! .hgtags Changeset: e1cd0e7075ae Author: ksrini Date: 2017-04-25 07:54 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/e1cd0e7075ae 8178725: provide way to link to external documentation Reviewed-by: dholmes, erikj, ihse, jjg ! make/Javadoc.gmk Changeset: 4a25d35d9159 Author: ihse Date: 2017-04-26 14:34 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/4a25d35d9159 8178042: Allow custom taglets Reviewed-by: erikj, mchung ! make/Javadoc.gmk Changeset: 7f290cff26cd Author: lana Date: 2017-04-27 21:16 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/7f290cff26cd Merge Changeset: 55b9ec67de79 Author: ihse Date: 2017-04-28 10:46 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/55b9ec67de79 8179361: specify -javafx option for javadoc command Reviewed-by: erikj ! make/Javadoc.gmk Changeset: a09f8a1f40ef Author: dnsimon Date: 2017-04-27 23:06 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/a09f8a1f40ef 8177845: Need a mechanism to load Graal Reviewed-by: kvn, iveresov, mchung ! make/CompileJavaModules.gmk ! make/common/Modules.gmk Changeset: 143d4c87bc1e Author: erikj Date: 2017-04-28 15:40 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/143d4c87bc1e 8179225: Update graphviz bundle script with up to date build instructions Reviewed-by: tbell, ihse ! make/devkit/createGraphvizBundle.sh Changeset: 8e1d0bed44e5 Author: lana Date: 2017-05-04 16:38 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/8e1d0bed44e5 Added tag jdk-9+168 for changeset 143d4c87bc1e ! .hgtags Changeset: 481bd01358a9 Author: ihse Date: 2017-05-03 08:46 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/481bd01358a9 8179453: Add a proper SetupProcessMarkdown Reviewed-by: erikj ! common/doc/testing.md ! make/Javadoc.gmk ! make/UpdateBuildDocs.gmk + make/common/ProcessMarkdown.gmk Changeset: 5288abbc445c Author: erikj Date: 2017-05-03 20:49 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/5288abbc445c 8179438: Incremental builds broken on Windows Reviewed-by: tbell, ihse ! make/common/NativeCompilation.gmk Changeset: 0b1d62e12105 Author: alanb Date: 2017-05-04 07:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/0b1d62e12105 8178380: Module system implementation refresh (5/2017) Reviewed-by: alanb Contributed-by: mandy.chung at oracle.com ! common/autoconf/generated-configure.sh ! common/autoconf/platform.m4 ! common/autoconf/spec.gmk.in ! make/CreateJmods.gmk ! make/ReleaseFile.gmk Changeset: 30db903fa442 Author: alanb Date: 2017-05-04 09:43 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/30db903fa442 Merge ! common/autoconf/generated-configure.sh Changeset: 25a364291f63 Author: lana Date: 2017-05-04 17:54 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/25a364291f63 Merge Changeset: 7931344eeb84 Author: ihse Date: 2017-05-05 13:56 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/7931344eeb84 8179557: Update generated Javadoc footer documentation link Reviewed-by: erikj ! make/Javadoc.gmk Changeset: a0c7c5e12113 Author: ihse Date: 2017-05-08 08:46 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/a0c7c5e12113 8179658: SetupProcessMarkdown creates long file names Reviewed-by: tbell, erikj ! make/Javadoc.gmk Changeset: 65694748f53c Author: ihse Date: 2017-05-08 14:02 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/65694748f53c 8140268: Generate link to specification license for JavaDoc API documentation Reviewed-by: erikj ! make/Javadoc.gmk Changeset: b25838a28195 Author: ihse Date: 2017-05-09 14:31 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/b25838a28195 8179879: Clarify install.sh Reviewed-by: erikj ! common/autoconf/build-aux/install.sh Changeset: a0ce1616b7f1 Author: lana Date: 2017-05-11 16:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/a0ce1616b7f1 Added tag jdk-9+169 for changeset b25838a28195 ! .hgtags Changeset: 7583288d0802 Author: ihse Date: 2017-05-10 09:02 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/7583288d0802 8178278: Move Standard Algorithm Names document to specs directory Reviewed-by: erikj ! make/Javadoc.gmk Changeset: 4635fa3adac6 Author: erikj Date: 2017-05-10 18:27 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/4635fa3adac6 8179867: JDK9 b167: demos exist in JDK bundles Reviewed-by: ihse ! make/Bundles.gmk ! make/Main.gmk Changeset: e50b2825a070 Author: tbell Date: 2017-05-10 14:55 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/e50b2825a070 8180129: Bundles.gmk:181: *** unterminated call to function 'filter-out': missing ')'. Stop. Reviewed-by: erikj ! make/Bundles.gmk Changeset: d045961bbd5c Author: ihse Date: 2017-05-11 08:56 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/d045961bbd5c 8179105: Respect "include_in_docs" property from imported modules. Reviewed-by: mchung, erikj ! make/common/Modules.gmk Changeset: 4dfb05777cb6 Author: erikj Date: 2017-05-11 18:41 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/4dfb05777cb6 8180083: Adjust Jib and JDL configurations for 9 to support new generation Mach 5 Reviewed-by: tbell, ihse ! common/conf/jib-profiles.js Changeset: 503670294c7d Author: lana Date: 2017-05-11 18:10 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/503670294c7d Merge Changeset: f1ca22ebd70f Author: iignatyev Date: 2017-05-11 13:58 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/f1ca22ebd70f 8180037: move jdk.test.lib.InMemoryJavaCompiler to a separate package Reviewed-by: mseledtsov, vlivanov ! test/lib/RedefineClassHelper.java - test/lib/jdk/test/lib/InMemoryJavaCompiler.java + test/lib/jdk/test/lib/compiler/InMemoryJavaCompiler.java Changeset: 52fd3ed2536f Author: iignatyev Date: 2017-05-11 13:58 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/52fd3ed2536f 8180004: jdk.test.lib.DynamicVMOption should be moved to jdk.test.lib.management Reviewed-by: mseledtsov, vlivanov - test/lib/jdk/test/lib/DynamicVMOption.java + test/lib/jdk/test/lib/management/DynamicVMOption.java Changeset: 69879afbd98f Author: ihse Date: 2017-05-12 19:09 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/69879afbd98f 8175825: Stop including pubs repo Reviewed-by: erikj ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/bin/hgforest.sh ! common/doc/building.html ! common/doc/testing.html + make/Docs.gmk - make/Javadoc.gmk ! make/Main.gmk Changeset: f6e365a5e489 Author: ihse Date: 2017-05-12 19:11 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/f6e365a5e489 8180281: --with-jtreg is broken for many use cases Reviewed-by: erikj ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 ! make/RunTests.gmk Changeset: c569c88b7650 Author: mchung Date: 2017-05-12 13:29 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/c569c88b7650 8180208: Provide a new docs bundle page Reviewed-by: ihse, jjg ! make/Docs.gmk ! make/Main.gmk Changeset: 2878d95ace72 Author: ihse Date: 2017-05-15 16:34 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/2878d95ace72 8180342: Fixup path for jtreg Reviewed-by: erikj ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: 9f46e4fbae64 Author: ihse Date: 2017-05-16 14:13 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/9f46e4fbae64 8180420: Set PATH for dot and pandoc in JIB Reviewed-by: erikj ! common/conf/jib-profiles.js Changeset: 4d163ec59d98 Author: ihse Date: 2017-05-16 14:14 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/4d163ec59d98 8180328: Bad links in footer of all javadoc-generated pages Reviewed-by: erikj ! make/Docs.gmk Changeset: 30196d168c55 Author: lana Date: 2017-05-18 14:54 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/30196d168c55 Added tag jdk-9+170 for changeset 4d163ec59d98 ! .hgtags Changeset: 1729a008c49f Author: shade Date: 2017-05-19 10:13 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/rev/1729a008c49f Merge - make/Javadoc.gmk - test/lib/jdk/test/lib/DynamicVMOption.java - test/lib/jdk/test/lib/InMemoryJavaCompiler.java From ashipile at redhat.com Fri May 19 08:32:42 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 19 May 2017 08:32:42 +0000 Subject: hg: shenandoah/jdk9/hotspot: 33 new changesets Message-ID: <201705190832.v4J8WhDe012392@aojmv0008.oracle.com> Changeset: e8699be63872 Author: iveresov Date: 2017-04-11 11:34 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/e8699be63872 8176887: AOT: SIGSEGV in AOTCodeHeap::next when using specific configuration Summary: Derive MethodCounters from Metadata Reviewed-by: kvn, coleenp ! src/share/vm/oops/metadata.hpp ! src/share/vm/oops/methodCounters.cpp ! src/share/vm/oops/methodCounters.hpp Changeset: 66ec8add62cd Author: dholmes Date: 2017-04-11 19:39 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/66ec8add62cd 8135161: Missing commas in copyright notices Reviewed-by: sspitsyn ! src/cpu/s390/vm/c1_Runtime1_s390.cpp ! src/share/vm/runtime/commandLineFlagConstraintsRuntime.cpp ! src/share/vm/runtime/commandLineFlagConstraintsRuntime.hpp Changeset: 773e40f3fc21 Author: never Date: 2017-04-06 00:03 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/773e40f3fc21 8178119: [JVMCI] when rethrowing exceptions at deopt the exception must be fetched after materialization Reviewed-by: kvn ! src/share/vm/runtime/deoptimization.cpp Changeset: 00bf892e5553 Author: rriggs Date: 2017-04-12 11:43 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/00bf892e5553 8178347: Process and ProcessHandle getPid method name inconsistency Reviewed-by: hseigel ! test/runtime/libadimalloc.solaris.sparc/Testlibadimalloc.java ! test/serviceability/attach/AttachSetGetFlag.java ! test/serviceability/tmtools/jstack/DaemonThreadTest.java ! test/serviceability/tmtools/jstack/SpreadLockTest.java ! test/serviceability/tmtools/jstack/ThreadNamesTest.java ! test/serviceability/tmtools/jstack/TraveledLockTest.java ! test/serviceability/tmtools/jstack/WaitNotifyThreadTest.java ! test/serviceability/tmtools/jstat/GcCapacityTest.java ! test/serviceability/tmtools/jstat/GcCauseTest01.java ! test/serviceability/tmtools/jstat/GcCauseTest02.java ! test/serviceability/tmtools/jstat/GcCauseTest03.java ! test/serviceability/tmtools/jstat/GcNewTest.java ! test/serviceability/tmtools/jstat/GcTest01.java ! test/serviceability/tmtools/jstat/GcTest02.java Changeset: 4d6df9a75465 Author: dlong Date: 2017-04-12 16:36 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/4d6df9a75465 8158168: Missing bounds checks for some String intrinsics Reviewed-by: vlivanov, thartmann, sherman ! src/share/vm/opto/library_call.cpp + test/compiler/intrinsics/string/TestStringUTF16IntrinsicRangeChecks.java ! test/compiler/patches/java.base/java/lang/Helper.java Changeset: bbf855a44562 Author: lana Date: 2017-04-13 16:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/bbf855a44562 Merge Changeset: 560d7aa083a2 Author: iignatyev Date: 2017-04-14 18:31 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/560d7aa083a2 8178731: compiler/ciReplay/SABase.java does not compile Reviewed-by: iignatyev, sspitsyn Contributed-by: ekaterina.pavlova at oracle.com ! test/compiler/ciReplay/SABase.java ! test/serviceability/sa/sadebugd/SADebugDTest.java Changeset: 443a768ec827 Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/443a768ec827 Added tag jdk-9+166 for changeset 560d7aa083a2 ! .hgtags Changeset: a92a6f4a454e Author: jlahoda Date: 2017-04-19 13:38 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/a92a6f4a454e 8178012: Finish removal of -Xmodule: Summary: Setting jtreg to use --patch-module instead of -Xmodule:. Reviewed-by: alanb ! test/TEST.ROOT Changeset: 4368832d1991 Author: zmajo Date: 2017-04-19 14:37 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/4368832d1991 8178723: Workaround for failure of CRC32C intrinsic on x86 machines without CLMUL support (JDK-8178720) Summary: Disable CRC32C intrinsic on affected machines. Improve tests. Reviewed-by: kvn, simonis, mdoerr, aph Contributed-by: Lutz Schmidt , Zoltan Majo ! src/cpu/x86/vm/vm_version_x86.cpp ! test/compiler/intrinsics/zip/TestCRC32.java ! test/compiler/intrinsics/zip/TestCRC32C.java Changeset: 0cdc61e61d57 Author: coleenp Date: 2016-12-01 14:21 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/0cdc61e61d57 8168699: Validate special case invocations Reviewed-by: acorn, kvn, lfoltan, ctornqvi, ahgross, vlivanov ! src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp ! src/cpu/arm/vm/c1_LIRAssembler_arm.cpp ! src/cpu/arm/vm/c1_LIRGenerator_arm.cpp ! src/cpu/ppc/vm/c1_LIRGenerator_ppc.cpp ! src/cpu/s390/vm/c1_LIRGenerator_s390.cpp ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/javaCalls.cpp Changeset: b7690ac63aa5 Author: iveresov Date: 2017-04-19 18:02 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/b7690ac63aa5 8178047: Aliasing problem with raw memory accesses Summary: Require equal bases when unaliasing offsets for raw accesses Reviewed-by: kvn ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp + test/compiler/unsafe/TestRawAliasing.java Changeset: 7650e0dcbf51 Author: lana Date: 2017-04-21 03:34 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/7650e0dcbf51 Merge Changeset: 1ca7ed1b17b5 Author: ehelin Date: 2017-04-22 12:05 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/1ca7ed1b17b5 8179013: Deprecate the Concurrent Mark Sweep (CMS) Garbage Collector Reviewed-by: sjohanss, sangheki ! src/share/vm/runtime/arguments.cpp ! test/gc/startup_warnings/TestCMS.java Changeset: efe1782aad5c Author: lana Date: 2017-04-27 16:07 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/efe1782aad5c Added tag jdk-9+167 for changeset 1ca7ed1b17b5 ! .hgtags Changeset: f1cca489e9c6 Author: kbarrett Date: 2017-04-26 22:34 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/f1cca489e9c6 8179084: HotSpot VM fails to start when AggressiveHeap is set Summary: Don't set default ParallelGCThreads when processing AggressiveHeap Reviewed-by: stefank, ehelin ! src/share/vm/runtime/arguments.cpp + test/gc/arguments/TestAggressiveHeap.java Changeset: 537dbd601b34 Author: lana Date: 2017-04-27 21:16 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/537dbd601b34 Merge Changeset: fbb9c8026495 Author: dnsimon Date: 2017-04-28 02:54 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/fbb9c8026495 8177845: Need a mechanism to load Graal Reviewed-by: kvn, iveresov, mchung ! .mx.jvmci/.pydevproject ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/EventProvider.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCICompilerConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMemoryAccessProviderImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/src/jdk/vm/ci/services/JVMCIServiceLocator.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/src/jdk/vm/ci/services/Services.java + src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.services/src/jdk/vm/ci/services/internal/ReflectionAccessJDK.java ! src/jdk.internal.vm.ci/share/classes/module-info.java ! src/jdk.internal.vm.compiler/.mx.graal/.pydevproject ! src/jdk.internal.vm.compiler/.mx.graal/suite.py ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.test/src/org/graalvm/compiler/api/test/Graal.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/ModuleAPI.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CheckGraalInvariants.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/InterfaceMethodHandleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OptionsVerifierTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/StaticInterfaceFieldTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/UnbalancedMonitorsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyBailoutUsageTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyDebugUsageTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyVirtualizableTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/debug/VerifyMethodMetricsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/StaticAnalysis.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/ConstantPoolSubstitutionsTests.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/TestIntrinsicCompiles.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompileTheWorld.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalCompilerFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalJVMCIServiceLocator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotGraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotInvocationPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/AESCryptSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/CRC32Substitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ThreadSubstitutions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/GraphPrinter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/DeoptimizeOnExceptionTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/GraalServices.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/JDK9Method.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.test/src/org/graalvm/compiler/test/JLModule.java ! src/share/vm/runtime/arguments.cpp ! test/compiler/jvmci/JVM_GetJVMCIRuntimeTest.java ! test/compiler/jvmci/TestJVMCIPrintProperties.java ! test/compiler/jvmci/compilerToVM/AsResolvedJavaMethodTest.java ! test/compiler/jvmci/compilerToVM/DoNotInlineOrCompileTest.java ! test/compiler/jvmci/compilerToVM/FindUniqueConcreteMethodTest.java ! test/compiler/jvmci/compilerToVM/GetBytecodeTest.java ! test/compiler/jvmci/compilerToVM/GetClassInitializerTest.java ! test/compiler/jvmci/compilerToVM/GetConstantPoolTest.java ! test/compiler/jvmci/compilerToVM/GetExceptionTableTest.java ! test/compiler/jvmci/compilerToVM/GetImplementorTest.java ! test/compiler/jvmci/compilerToVM/GetLineNumberTableTest.java ! test/compiler/jvmci/compilerToVM/GetLocalVariableTableTest.java ! test/compiler/jvmci/compilerToVM/GetNextStackFrameTest.java ! test/compiler/jvmci/compilerToVM/GetResolvedJavaMethodTest.java ! test/compiler/jvmci/compilerToVM/GetResolvedJavaTypeTest.java ! test/compiler/jvmci/compilerToVM/GetStackTraceElementTest.java ! test/compiler/jvmci/compilerToVM/GetSymbolTest.java ! test/compiler/jvmci/compilerToVM/GetVtableIndexForInterfaceTest.java ! test/compiler/jvmci/compilerToVM/HasCompiledCodeForOSRTest.java ! test/compiler/jvmci/compilerToVM/HasFinalizableSubclassTest.java ! test/compiler/jvmci/compilerToVM/HasNeverInlineDirectiveTest.java ! test/compiler/jvmci/compilerToVM/InvalidateInstalledCodeTest.java ! test/compiler/jvmci/compilerToVM/IsCompilableTest.java ! test/compiler/jvmci/compilerToVM/IsMatureVsReprofileTest.java ! test/compiler/jvmci/compilerToVM/LookupKlassInPoolTest.java ! test/compiler/jvmci/compilerToVM/LookupKlassRefIndexInPoolTest.java ! test/compiler/jvmci/compilerToVM/LookupMethodInPoolTest.java ! test/compiler/jvmci/compilerToVM/LookupNameAndTypeRefIndexInPoolTest.java ! test/compiler/jvmci/compilerToVM/LookupNameInPoolTest.java ! test/compiler/jvmci/compilerToVM/LookupSignatureInPoolTest.java ! test/compiler/jvmci/compilerToVM/LookupTypeTest.java ! test/compiler/jvmci/compilerToVM/MaterializeVirtualObjectTest.java ! test/compiler/jvmci/compilerToVM/MethodIsIgnoredBySecurityStackWalkTest.java ! test/compiler/jvmci/compilerToVM/ReadConfigurationTest.java ! test/compiler/jvmci/compilerToVM/ReprofileTest.java ! test/compiler/jvmci/compilerToVM/ResolveConstantInPoolTest.java ! test/compiler/jvmci/compilerToVM/ResolveFieldInPoolTest.java ! test/compiler/jvmci/compilerToVM/ResolveMethodTest.java ! test/compiler/jvmci/compilerToVM/ResolvePossiblyCachedConstantInPoolTest.java ! test/compiler/jvmci/compilerToVM/ResolveTypeInPoolTest.java ! test/compiler/jvmci/compilerToVM/ShouldInlineMethodTest.java ! test/compiler/jvmci/errors/TestInvalidCompilationResult.java ! test/compiler/jvmci/errors/TestInvalidDebugInfo.java ! test/compiler/jvmci/errors/TestInvalidOopMap.java ! test/compiler/jvmci/events/JvmciNotifyInstallEventTest.java ! test/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/DataPatchTest.java ! test/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/InterpreterFrameSizeTest.java ! test/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/MaxOopMapStackOffsetTest.java ! test/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleCodeInstallationTest.java ! test/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleDebugInfoTest.java ! test/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/VirtualObjectDebugInfoTest.java ! test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/HotSpotConstantReflectionProviderTest.java ! test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MemoryAccessProviderTest.java ! test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MethodHandleAccessProviderTest.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ConstantTest.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/RedefineClassTest.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveConcreteMethodTest.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ResolvedJavaTypeResolveMethodTest.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestConstantReflectionProvider.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaField.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaMethod.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestJavaType.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaField.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaMethod.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java ! test/compiler/jvmci/meta/StableFieldTest.java Changeset: f36e864e66a7 Author: lana Date: 2017-05-04 16:38 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/f36e864e66a7 Added tag jdk-9+168 for changeset fbb9c8026495 ! .hgtags Changeset: a0bd5a8c4e11 Author: alanb Date: 2017-05-04 07:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/a0bd5a8c4e11 8178380: Module system implementation refresh (5/2017) Reviewed-by: lfoltan, hseigel, mchung, sspitsyn Contributed-by: alan.bateman at oracle.com, serguei.spitsyn at oracle.com ! src/share/vm/classfile/moduleEntry.cpp ! src/share/vm/classfile/modules.cpp ! src/share/vm/classfile/packageEntry.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/logging/logTag.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/prims/jvmti.xml ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/diagnosticCommand.cpp ! test/compiler/jsr292/RedefineMethodUsedByMultipleMethodHandles.java ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/RedefineClassTest.java ! test/compiler/profiling/spectrapredefineclass/Launcher.java ! test/compiler/profiling/spectrapredefineclass_classloaders/Launcher.java ! test/runtime/CommandLine/OptionsValidation/TestOptionsWithRangesDynamic.java ! test/runtime/Metaspace/DefineClass.java ! test/runtime/logging/ModulesTest.java ! test/runtime/logging/StartupTimeTest.java ! test/runtime/modules/JVMAddModuleExports.java ! test/runtime/modules/JVMAddModulePackage.java ! test/runtime/modules/JVMDefineModule.java ! test/runtime/modules/ModuleStress/ModuleStress.java ! test/runtime/modules/ModuleStress/ModuleStressGC.java Changeset: fa79b980fa63 Author: alanb Date: 2017-05-04 09:43 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/fa79b980fa63 Merge ! src/share/vm/runtime/arguments.cpp ! test/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/RedefineClassTest.java Changeset: 70548873832d Author: lana Date: 2017-05-04 17:54 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/70548873832d Merge Changeset: d7da8c2b8b6c Author: roland Date: 2017-04-25 09:37 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/d7da8c2b8b6c 8179070: nashorn+octane's box2d causes c2 to crash with "Bad graph detected in compute_lca_of_uses" Summary: ciTypeFlow speculates field is null but parsing uses non null constant because of concurrent class initialization Reviewed-by: thartmann ! src/share/vm/opto/parse3.cpp Changeset: 16d692be099c Author: ihse Date: 2017-05-09 12:53 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/16d692be099c 8179889: Fix typographic errors in copyright headers Reviewed-by: erikj, dholmes ! src/cpu/aarch64/vm/assembler_aarch64.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ppc64/PPC64RegisterMap.java ! test/gc/class_unloading/TestClassUnloadingDisabled.java ! test/native/logging/test_logTagSetDescriptions.cpp ! test/native/memory/test_metachunk.cpp ! test/runtime/CommandLine/PermGenFlagsTest.java ! test/runtime/logging/ThreadLoggingTest.java ! test/runtime/logging/p2/B.jcod ! test/testlibrary/ctw/Makefile Changeset: 910e24afc502 Author: lana Date: 2017-05-11 16:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/910e24afc502 Added tag jdk-9+169 for changeset 16d692be099c ! .hgtags Changeset: 830c73c1bd96 Author: ihse Date: 2017-05-11 09:00 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/830c73c1bd96 8174848: Remove gpl templates from hotspot/make Reviewed-by: erikj - make/templates/gpl-cp-header - make/templates/gpl-header Changeset: cab132bfdaec Author: lana Date: 2017-05-11 18:11 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/cab132bfdaec Merge - make/templates/gpl-cp-header - make/templates/gpl-header Changeset: bffc9b76c590 Author: iignatyev Date: 2017-05-11 14:03 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/bffc9b76c590 8180037: move jdk.test.lib.InMemoryJavaCompiler to a separate package Reviewed-by: mseledtsov, vlivanov ! test/gc/metaspace/TestMetaspacePerfCounters.java ! test/runtime/BadObjectClass/BootstrapRedefine.java ! test/runtime/RedefineTests/ModifyAnonymous.java ! test/runtime/Unsafe/DefineClass.java ! test/runtime/Unsafe/NestedUnsafe.java ! test/runtime/defineAnonClass/NestedUnsafe.java ! test/runtime/defineAnonClass/NestedUnsafe2.java ! test/runtime/getSysPackage/GetSysPkgTest.java ! test/runtime/modules/ModuleStress/ModuleStress.java ! test/runtime/modules/PatchModule/PatchModule2Dirs.java ! test/runtime/modules/PatchModule/PatchModuleCDS.java ! test/runtime/modules/PatchModule/PatchModuleClassList.java ! test/runtime/modules/PatchModule/PatchModuleJavaBase.java ! test/runtime/modules/PatchModule/PatchModuleTest.java ! test/runtime/modules/PatchModule/PatchModuleTestJar.java ! test/runtime/modules/PatchModule/PatchModuleTestJarDir.java ! test/runtime/modules/PatchModule/PatchModuleTraceCL.java ! test/runtime/modules/Visibility/PatchModuleVisibility.java ! test/runtime/modules/Visibility/XbootcpNoVisibility.java ! test/runtime/modules/Visibility/XbootcpVisibility.java Changeset: 434139d1c85b Author: iignatyev Date: 2017-05-11 14:13 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/434139d1c85b 8180004: jdk.test.lib.DynamicVMOption should be moved to jdk.test.lib.management Reviewed-by: mseledtsov, vlivanov ! test/gc/arguments/TestDynMaxHeapFreeRatio.java ! test/gc/arguments/TestDynMinHeapFreeRatio.java ! test/gc/parallel/TestDynShrinkHeap.java ! test/runtime/CommandLine/OptionsValidation/TestJcmdOutput.java ! test/runtime/CommandLine/OptionsValidation/common/optionsvalidation/JVMOption.java ! test/runtime/CommandLine/VMOptionsFile/TestVMOptionsFile.java Changeset: d6d7e5caf497 Author: tschatzl Date: 2017-05-15 12:20 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/d6d7e5caf497 8180048: Interned string and symbol table leak memory during parallel unlinking Summary: Make appending found dead BasicHashtableEntrys to the free list atomic. Reviewed-by: ehelin, shade, coleenp ! src/share/vm/classfile/stringTable.cpp ! src/share/vm/classfile/stringTable.hpp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/hashtable.cpp ! src/share/vm/utilities/hashtable.hpp Changeset: 38a240fd58a2 Author: aph Date: 2017-05-11 13:11 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/38a240fd58a2 8179954: AArch64: C1 and C2 volatile accesses are not sequentially consistent Reviewed-by: roland ! src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp ! src/cpu/aarch64/vm/templateTable_aarch64.cpp Changeset: b3ee8ab233ed Author: lana Date: 2017-05-18 14:54 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/b3ee8ab233ed Added tag jdk-9+170 for changeset 38a240fd58a2 ! .hgtags Changeset: a3f03b9ae3f8 Author: shade Date: 2017-05-19 10:13 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/a3f03b9ae3f8 Merge - make/templates/gpl-cp-header - make/templates/gpl-header ! src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp ! src/cpu/aarch64/vm/templateTable_aarch64.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/classfile/modules.cpp ! src/share/vm/classfile/stringTable.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/diagnosticCommand.cpp From ashipile at redhat.com Fri May 19 08:32:40 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 19 May 2017 08:32:40 +0000 Subject: hg: shenandoah/jdk9/jaxp: 19 new changesets Message-ID: <201705190832.v4J8We4C012384@aojmv0008.oracle.com> Changeset: 37cdb2871070 Author: rriggs Date: 2017-04-12 10:53 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/37cdb2871070 8178347: Process and ProcessHandle getPid method name inconsistency Reviewed-by: alanb, bpb ! test/javax/xml/jaxp/libs/jdk/testlibrary/ProcessTools.java Changeset: 8d3febd5c9d8 Author: lana Date: 2017-04-13 16:27 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/8d3febd5c9d8 Merge Changeset: c98480dd22e7 Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/c98480dd22e7 Added tag jdk-9+166 for changeset 8d3febd5c9d8 ! .hgtags Changeset: 2fdbfbde3bc0 Author: joehw Date: 2017-04-17 16:24 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/2fdbfbde3bc0 8162572: Update License Header for all JAXP sources Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Constants.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/ExceptionConstants.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Repository.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AccessFlags.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Attribute.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AttributeReader.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassFormatException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassParser.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Code.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/CodeException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Constant.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantCP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantDouble.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFieldref.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFloat.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInteger.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInterfaceMethodref.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantLong.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodref.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantNameAndType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantObject.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPool.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantString.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantUtf8.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Deprecated.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ExceptionTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Field.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/FieldOrMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClasses.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/JavaClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumber.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumberTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Method.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Node.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/PMGClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Signature.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SourceFile.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMap.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Synthetic.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Unknown.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Utility.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Visitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ACONST_NULL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ANEWARRAY.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ARETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ARRAYLENGTH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ATHROW.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AllocationInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArithmeticInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BIPUSH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BREAKPOINT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BasicType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BranchHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BranchInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CHECKCAST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CPInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGenException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassObserver.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CodeExceptionGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CompoundInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPoolGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPushInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConversionInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2F.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2I.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2L.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DADD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCONST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DDIV.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DLOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DMUL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DNEG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DREM.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DRETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DSTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DSUB.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X1.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X1.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/EmptyVisitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ExceptionThrower.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2D.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2I.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2L.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FADD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCONST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FDIV.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FLOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FMUL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FNEG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FREM.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FRETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FSTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FSUB.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGenOrMethodGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldObserver.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldOrMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETFIELD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETSTATIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GotoInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2B.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2C.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2D.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2F.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2L.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2S.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IADD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IAND.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ICONST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IDIV.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFEQ.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFGE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFGT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFLE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFLT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNONNULL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNULL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPEQ.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPNE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPEQ.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPNE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IINC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ILOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP1.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMUL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INEG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INSTANCEOF.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEINTERFACE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESPECIAL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESTATIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEVIRTUAL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IOR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IREM.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IRETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISHL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISHR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISUB.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IUSHR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IXOR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IfInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IndexedInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Instruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionComparator.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionConstants.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionFactory.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionList.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionListObserver.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionTargeter.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InvokeInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JSR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JSR_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JsrInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2D.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2F.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2I.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LADD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LAND.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LCMP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LCONST.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC2_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDIV.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LLOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LMUL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LNEG.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LOOKUPSWITCH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LOR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LREM.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LRETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSHL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSHR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSUB.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LUSHR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LXOR.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LineNumberGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LoadClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LoadInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MONITORENTER.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MONITOREXIT.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MULTIANEWARRAY.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodObserver.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NEW.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NEWARRAY.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NOP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NamedAndTyped.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ObjectType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/POP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/POP2.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUSH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUTFIELD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUTSTATIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PopInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PushInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/RET.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/RETURN.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReferenceType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnaddressType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SALOAD.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SASTORE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SIPUSH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWAP.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWITCH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Select.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackConsumer.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackProducer.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StoreInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TABLESWITCH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TargetLostException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Type.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TypedInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/UnconditionalBranch.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/VariableLengthInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Visitor.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/AttributeHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELFactory.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELifier.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ByteSequence.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Class2HTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassLoader.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassLoaderRepository.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassQueue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassSet.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassStack.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassVector.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/CodeHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ConstantHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/MethodHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Repository.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/SecuritySupport.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/SyntheticRepository.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/extensions/ExpressionContext.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltBase.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltCommon.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltDatetime.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltDynamic.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltMath.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/lib/Extensions.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/lib/NodeInfo.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLMessages.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_de.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_en.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_es.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_fr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_it.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_ja.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_ko.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_pt_BR.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_sv.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_zh_CN.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_zh_TW.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/templates/Constants.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/utils/ConfigurationError.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/utils/ObjectFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/utils/SecuritySupport.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/CollatorFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/DOMCache.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/DOMEnhancedForDTM.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/NodeIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/ProcessorVersion.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/StripFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/Translet.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/TransletException.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AbsoluteLocationPath.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AbsolutePathPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AlternativePattern.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AncestorPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ApplyImports.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ArgumentList.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Attribute.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/AttributeValue.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/BinOpExpr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/BooleanCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/BooleanExpr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CallTemplate.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CastCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CeilingCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Closure.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Comment.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CompilerException.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ConcatCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ContainsCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Copy.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CopyOf.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/CurrentCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/DecimalFormatting.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/DocumentCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ElementAvailableCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/EqualityExpr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Expression.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Fallback.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FilterExpr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FilterParentPath.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FilteredAbsoluteLocationPath.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FloorCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FlowList.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FormatNumberCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionAvailableCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/GenerateIdCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/IdKeyPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/IdPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/If.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/IllegalCharException.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Instruction.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/IntExpr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/KeyCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/KeyPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LangCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LastCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralAttribute.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralExpr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LocalNameCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LocationPathPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/LogicalExpr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Message.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NameBase.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NameCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NamespaceAlias.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NamespaceUriCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NodeTest.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NotCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Number.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/NumberCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Otherwise.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Output.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Param.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ParameterRef.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ParentLocationPath.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ParentPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Pattern.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/PositionCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Predicate.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ProcessingInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ProcessingInstructionPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/QName.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RealExpr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RelationalExpr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RelativeLocationPath.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RelativePathPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/RoundCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SimpleAttributeValue.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/SourceLoader.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/StartsWithCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Step.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/StepPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/StringCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/StringLengthCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Text.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/TopLevelElement.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnaryOpExpr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnionPathExpr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnparsedEntityUriCall.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UnresolvedRef.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/UseAttributeSets.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/ValueOf.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Variable.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/VariableBase.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/VariableRef.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/VariableRefBase.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/When.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Whitespace.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/WithParam.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XPathLexer.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/AttributeSetMethodGenerator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/BooleanType.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ClassGenerator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/CompareGenerator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_ca.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_cs.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_sk.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/FilterGenerator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/IntType.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/InternalError.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MarkerInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MatchGenerator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodType.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NamedMethodGenerator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeCounterGenerator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeSetType.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeSortRecordFactGenerator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeSortRecordGenerator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeType.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NumberType.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ObjectType.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/OutlineableChunkEnd.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/OutlineableChunkStart.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/RealType.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ReferenceType.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ResultTreeType.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/RtMethodGenerator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/SlotAllocator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/StringStack.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/StringType.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/TestGenerator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/Type.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/TypeCheckError.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/Util.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/VoidType.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/AbsoluteIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/AnyNodeCounter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/ArrayNodeListIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/BitArray.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/CachedNodeListIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/ClonedNodeListIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/CollatorFactoryBase.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/CurrentNodeListFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/CurrentNodeListIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/DOMBuilder.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/DupFilterIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/EmptyFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/ExtendedSAX.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/Filter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/FilterIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/FilteredStepIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/ForwardPositionIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/LoadDocument.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/MatchingIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/MultiValuedNodeHeapIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/MultipleNodeCounter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeCounter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeIteratorBase.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeSortRecord.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NodeSortRecordFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/NthIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SimpleResultTreeImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SingleNodeCounter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SingletonIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SortSettings.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/SortingIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/StepIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/StripWhitespaceFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/UnionIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/XSLTCDTMManager.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Attributes.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Constants.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_ca.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_cs.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_de.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_es.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_fr.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_it.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_ja.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_ko.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_pt_BR.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_sk.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_sv.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_zh_CN.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_zh_TW.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/InternalRuntimeError.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/MessageHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Node.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Operators.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/Parameter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/StringValueHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/OutputBuffer.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/StringOutputBuffer.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/TransletOutputHandlerFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2TO.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/OutputSettings.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2DOM.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TrAXFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerHandlerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/XSLTCSource.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/util/IntegerArray.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/AttrImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/AttrNSImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/AttributeMap.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CDATASectionImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CharacterDataImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/ChildNode.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CommentImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DOMErrorImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DOMImplementationImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DOMImplementationListImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DOMImplementationSourceImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DOMInputImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DOMLocatorImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DOMMessageFormatter.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DOMNormalizer.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DOMOutputImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DOMXSImplementationSourceImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeepNodeListImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredAttrImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredAttrNSImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredCDATASectionImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredCommentImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredDOMImplementationImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredDocumentTypeImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredElementDefinitionImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredElementImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredElementNSImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredEntityImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredEntityReferenceImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredNode.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredNotationImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredProcessingInstructionImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredTextImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DocumentFragmentImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/ElementDefinitionImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/ElementNSImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/EntityImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/EntityReferenceImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/NamedNodeMapImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/NodeIteratorImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/NodeListCache.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/NotationImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/PSVIDOMImplementationImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/PSVIDocumentImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/ProcessingInstructionImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/RangeExceptionImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/RangeImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/TextImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/TreeWalkerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/events/EventImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/events/MutationEventImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/ExternalSubsetResolver.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/RevalidationHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XML11NSDocumentScannerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XML11NamespaceBinder.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityDescription.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLNamespaceBinder.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XML11DTDProcessor.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XML11DTDValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XML11NSDTDValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLAttributeDecl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLContentSpec.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDDescription.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDLoader.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDProcessor.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLDTDValidatorFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLElementDecl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLEntityDecl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLNSDTDValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLNotationDecl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/XMLSimpleType.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMAny.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMBinOp.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMLeaf.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMStateSet.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/CMUniOp.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/ContentModelValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/DFAContentModel.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/MixedContentModel.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dtd/models/SimpleContentModel.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/DVFactoryException.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/DatatypeException.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/DatatypeValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/InvalidDatatypeFacetException.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/InvalidDatatypeValueException.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/SchemaDVFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/ValidationContext.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/XSFacets.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/XSSimpleType.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/ENTITYDatatypeValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/IDDatatypeValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/IDREFDatatypeValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/ListDatatypeValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/NMTOKENDatatypeValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/NOTATIONDatatypeValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/StringDatatypeValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11IDDatatypeValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11IDREFDatatypeValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11NMTOKENDatatypeValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/util/Base64.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/util/HexBin.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/AbstractDateTimeDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/AnyAtomicDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/AnySimpleDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/AnyURIDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/Base64BinaryDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/BaseDVFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/BooleanDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DateDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DateTimeDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DayDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DayTimeDurationDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DecimalDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DoubleDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/DurationDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/EntityDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/FloatDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/FullDVFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/HexBinaryDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/IDDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/IDREFDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/IntegerDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/ListDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/MonthDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/MonthDayDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/PrecisionDecimalDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/QNameDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/SchemaDVFactoryImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/SchemaDateTimeException.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/StringDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/TimeDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/TypeValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/UnionDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/YearDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/YearMonthDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/dv/xs/YearMonthDurationDV.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/io/ASCIIReader.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/io/MalformedByteSequenceException.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/io/UCSReader.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/io/UTF8Reader.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_de.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_es.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_fr.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_it.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_ja.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_ko.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_pt_BR.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_sv.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_zh_CN.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_zh_TW.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/validation/EntityState.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/validation/ValidationManager.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/SchemaNamespaceSupport.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/SchemaSymbols.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaException.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSAnnotationImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSAttributeGroupDecl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSDDescription.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSDeclarationPool.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSGroupDecl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSImplementationImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSLoaderImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSMessageFormatter.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSModelGroupImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSNotationDecl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSParticleDecl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XSWildcardDecl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/IdentityConstraint.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/KeyRef.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/Selector.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/UniqueOrKey.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/identity/XPathMatcher.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/CMNodeFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMBinOp.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMLeaf.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMUniOp.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/AttrImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultDocument.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultElement.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultNode.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultText.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/DefaultXMLDocumentHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/ElementImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/NamedNodeMapImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/NodeImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/SchemaDOM.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/SchemaDOMParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/TextImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/SchemaContentHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSAnnotationInfo.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAbstractIDConstraintTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAbstractParticleTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAbstractTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAttributeGroupTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDAttributeTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDComplexTypeTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDElementTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDGroupTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDKeyrefTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDNotationTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDUniqueOrKeyTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDWildcardTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDocumentInfo.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/ShortListImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/SimpleLocator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/StringListImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XInt.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XIntPool.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSGrammarPool.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSNamedMap4Types.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSNamedMapImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/util/XSObjectListImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/DefaultValidationErrorHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/JAXPConstants.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/JAXPValidatorComponent.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/SchemaValidatorConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/TeeXMLDocumentFilterImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/UnparsedEntityHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/DatatypeFactoryImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/AbstractXMLSchema.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMDocumentHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMResultAugmentor.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMResultBuilder.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMValidatorHelper.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DraconianErrorHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/EmptyXMLSchema.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ErrorHandlerAdaptor.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/JAXPValidationMessageFormatter.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ReadOnlyGrammarPool.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/SimpleXMLSchema.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/SoftReferenceGrammarPool.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/Util.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHelper.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/WeakReferenceXMLSchema.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/WrappedSAXException.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XSGrammarPoolContainer.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/AbstractDOMParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/AbstractXMLDocumentParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/BasicParserConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/CachingParserPool.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/DOMParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/DTDParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/IntegratedParserConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/SAXParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/SecurityConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XIncludeAwareParserConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XIncludeParserConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11Configurable.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11DTDConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11NonValidatingConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLDocumentParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLGrammarCachingConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLGrammarParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XPointerParserConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/AttributesProxy.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/DOMEntityResolverWrapper.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/DOMInputSource.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/DatatypeMessageFormatter.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/DefaultErrorHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/DraconianErrorHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/EntityResolver2Wrapper.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/ErrorHandlerProxy.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/ErrorHandlerWrapper.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/IntStack.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/LocatorProxy.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/LocatorWrapper.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/MessageFormatter.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/NamespaceSupport.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/SAX2XNI.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/SAXInputSource.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/SAXLocatorWrapper.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/SAXMessageFormatter.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/SecurityManager.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/ShadowedSymbolTable.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/SynchronizedSymbolTable.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/TeeXMLDocumentFilterImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/URI.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/XML11Char.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/XMLCatalogResolver.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/XMLChar.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/XMLDocumentFilterImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/XMLEntityDescriptionImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/XMLErrorCode.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/XMLGrammarPoolImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/XMLInputSourceAdaptor.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/XMLResourceIdentifierImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/XMLStringBuffer.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/XMLSymbols.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/utils/ConfigurationError.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/utils/ObjectFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/MultipleScopeNamespaceSupport.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/SecuritySupport.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/XInclude11TextReader.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeMessageFormatter.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeNamespaceSupport.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeTextReader.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/XPointerElementHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/XPointerFramework.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/Augmentations.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/NamespaceContext.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/QName.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/XMLAttributes.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/XMLDTDContentModelHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/XMLDTDHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/XMLDocumentFragmentHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/XMLDocumentHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/XMLLocator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/XMLResourceIdentifier.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/XMLString.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/XNIException.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/Grammar.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLDTDDescription.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLGrammarDescription.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLGrammarLoader.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLGrammarPool.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XMLSchemaDescription.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/grammars/XSGrammar.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLComponent.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLComponentManager.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLConfigurationException.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDContentModelFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDContentModelSource.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDScanner.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDSource.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDocumentFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDocumentScanner.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLDocumentSource.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLEntityResolver.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLErrorHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLInputSource.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLParseException.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLParserConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xni/parser/XMLPullParserConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/AttributePSVI.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/ElementPSVI.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/LSInputList.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/PSVIProvider.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/ShortList.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/StringList.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSAnnotation.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSAttributeGroupDefinition.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSComplexTypeDefinition.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSConstants.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSException.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSIDCDefinition.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSImplementation.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSLoader.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSModelGroup.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSModelGroupDefinition.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSNamedMap.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSNamespaceItemList.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSNotationDeclaration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSObject.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSObjectList.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSParticle.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSTerm.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSTypeDefinition.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/XSWildcard.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/ObjectList.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSDateTime.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSDecimal.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSDouble.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSFloat.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xs/datatypes/XSQName.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/Axis.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/DTM.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/DTMAxisIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/DTMAxisTraverser.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/DTMConfigurationException.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/DTMDOMException.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/DTMException.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/DTMFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/DTMIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/DTMManager.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/DTMWSFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/ChunkedIntArray.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/CoroutineManager.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/CoroutineParser.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMAxisIterNodeList.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMAxisIteratorBase.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMChildIterNodeList.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMDefaultBase.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMDefaultBaseIterators.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMDefaultBaseTraversers.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMDocumentImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMManagerDefault.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNamedNodeMap.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeList.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeListBase.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeProxy.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMSafeStringPool.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMStringPool.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/DTMTreeWalker.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/EmptyIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/ExpandedNameTable.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/ExtendedType.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/IncrementalSAXSource.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/IncrementalSAXSource_Filter.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/IncrementalSAXSource_Xerces.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/NodeLocator.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/dom2dtm/DOM2DTM.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2RTFDTM.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_ca.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_cs.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_de.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_en.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_es.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_fr.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_it.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_ja.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_ko.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_pt_BR.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_sk.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_sv.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_tr.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_zh_CN.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_zh_HK.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_zh_TW.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLMessages.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serialize/SecuritySupport.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serialize/XHTMLSerializer.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/CharInfo.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/DOMSerializer.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ElemContext.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ElemDesc.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/EncodingInfo.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/Encodings.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ExtendedContentHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ExtendedLexicalHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/Method.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/NamespaceMappings.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/OutputPropertiesFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/OutputPropertyUtils.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerConstants.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerTrace.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerTraceWriter.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToHTMLSAXHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToTextSAXHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToTextStream.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToXMLSAXHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/TransformStateSetter.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/Version.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/WriterChain.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/WriterToASCI.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/DOM3SerializerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/DOMConstants.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/DOMErrorHandlerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/DOMErrorImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/DOMLocatorImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/DOMOutputImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/DOMStringListImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/LSSerializerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/NamespaceSupport.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/utils/AttList.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/utils/BoolStack.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/utils/DOM2Helper.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/utils/Messages.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SerializerMessages_en.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/utils/StringToIntTable.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/utils/SystemIDResolver.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/utils/URI.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/utils/WrappedRuntimeException.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/AttList.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/BoolStack.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/CharKey.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/Constants.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/DOM2Helper.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/DOMBuilder.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/DOMOrder.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/DefaultErrorHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/FastStringBuffer.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/IntStack.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/IntVector.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/ListingErrorHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/LocaleUtility.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/MutableAttrListImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/NSInfo.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/NameSpace.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/NodeConsumer.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/NodeVector.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/ObjectPool.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/ObjectStack.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/ObjectVector.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/PrefixResolver.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/PrefixResolverDefault.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/QName.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/RawCharacterHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/SAXSourceLocator.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/SerializableLocatorImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/StopParseException.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/StringBufferPool.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/StringComparable.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/StringToIntTable.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/StringToStringTable.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/StringToStringTableVector.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/StringVector.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/StylesheetPIHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/SuballocatedByteVector.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/SuballocatedIntVector.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/SystemIDResolver.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/Trie.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/URI.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/UnImplNode.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/WrappedRuntimeException.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/WrongParserException.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/XML11Char.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/XMLChar.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/XMLCharacterRecognizer.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/XMLString.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/XMLStringDefault.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/XMLStringFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/XMLStringFactoryDefault.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/CharArrayWrapper.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/IntArrayWrapper.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/LongArrayWrapper.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/StringArrayWrapper.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResourceBundle.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResourceBundleBase.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_de.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_en.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_es.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_fr.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_it.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ja_JP_A.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ja_JP_HA.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ja_JP_HI.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ja_JP_I.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_ko.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_sv.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_zh_CN.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_zh_TW.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/Arg.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/CachedXPathAPI.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/Expression.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/ExpressionNode.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/ExpressionOwner.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/ExtensionsProvider.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/FoundIndex.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/NodeSet.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/NodeSetDTM.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/SourceTree.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/SourceTreeManager.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/VariableStack.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/WhitespaceStrippingElementMatcher.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/XPath.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/XPathAPI.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/XPathContext.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/XPathException.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/XPathFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/XPathProcessorException.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/XPathVisitable.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/XPathVisitor.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/AttributeIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/AxesWalker.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/BasicTestIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/ChildIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/ChildTestIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/ContextNodeList.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/DescendantIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/FilterExprIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/FilterExprIteratorSimple.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/FilterExprWalker.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/HasPositionalPredChecker.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/IteratorPool.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/LocPathIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/MatchPatternIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/NodeSequence.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/OneStepIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/OneStepIteratorForward.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/PathComponent.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/PredicatedNodeTest.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/RTFIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/ReverseAxesWalker.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/SelfIteratorNoPredicate.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/SubContextList.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/UnionChildIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/UnionPathIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/WalkerFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/WalkingIterator.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/WalkingIteratorSorted.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Compiler.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/FuncLoader.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Lexer.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/OpCodes.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/OpMap.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/OpMapVector.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/PsuedoNames.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathDumper.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathParser.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncBoolean.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncCeiling.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncConcat.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncContains.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncCount.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncCurrent.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncDoclocation.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncExtElementAvailable.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncExtFunction.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncExtFunctionAvailable.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncFalse.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncFloor.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncGenerateId.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncId.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncLang.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncLast.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncLocalPart.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncNamespace.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncNormalizeSpace.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncNot.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncNumber.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncPosition.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncQname.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncRound.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncStartsWith.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncString.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncStringLength.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSubstring.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSubstringAfter.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSubstringBefore.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSum.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSystemProperty.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncTranslate.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncTrue.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncUnparsedEntityURI.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/Function.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/Function2Args.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/Function3Args.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FunctionDef1Arg.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FunctionMultiArgs.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FunctionOneArg.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/WrongNumberArgsException.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/jaxp/JAXPPrefixResolver.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/jaxp/JAXPVariableStack.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/jaxp/XPathFactoryImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/jaxp/XPathImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/DTMXRTreeFrag.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XBoolean.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XBooleanStatic.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XMLStringFactoryImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XNodeSet.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XNodeSetForDOM.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XNull.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XNumber.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XObject.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XObjectFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XRTreeFrag.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XRTreeFragSelectWrapper.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XString.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XStringForChars.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/objects/XStringForFSB.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/And.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Bool.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Div.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Equals.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Gt.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Gte.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Lt.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Lte.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Minus.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Mod.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Mult.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Neg.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/NotEquals.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Number.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Operation.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Or.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Plus.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Quo.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/String.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/UnaryOperation.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/Variable.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/operations/VariableSafeAbsRef.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/patterns/ContextMatchStepPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/patterns/FunctionPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/patterns/NodeTest.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/patterns/NodeTestFilter.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/patterns/StepPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/patterns/UnionPattern.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_de.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_en.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_es.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_fr.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_it.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ja.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ko.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_pt_BR.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_sv.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_CN.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_TW.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHMessages.java ! src/java.xml/share/classes/com/sun/xml/internal/stream/Entity.java ! src/java.xml/share/classes/com/sun/xml/internal/stream/XMLEntityReader.java Changeset: b734fb659989 Author: jlahoda Date: 2017-04-19 13:38 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/b734fb659989 8178012: Finish removal of -Xmodule: Summary: Setting jtreg to use --patch-module instead of -Xmodule:. Reviewed-by: alanb ! test/TEST.ROOT Changeset: fc2d987bdeec Author: joehw Date: 2016-11-22 14:49 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/fc2d987bdeec 8169011: Resizing XML parse trees Reviewed-by: dfuchs, lancea, skoivu ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XML11NSDocumentScannerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java Changeset: 6573c99129a3 Author: joehw Date: 2017-01-18 11:47 -0800 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/6573c99129a3 8172875: Resizing XML parse trees test update Reviewed-by: dfuchs, lancea ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLStreamReaderImpl.java Changeset: 836b1aeb7d06 Author: lana Date: 2017-04-21 03:34 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/836b1aeb7d06 Merge Changeset: 646567dcfa64 Author: aefimov Date: 2017-04-24 00:22 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/646567dcfa64 8176168: Performance drop due to SAXParser SymbolTable reset Reviewed-by: joehw, lancea ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11Configuration.java ! src/java.xml/share/classes/jdk/xml/internal/JdkXmlFeatures.java ! src/java.xml/share/classes/jdk/xml/internal/JdkXmlUtils.java ! test/javax/xml/jaxp/unittest/sax/SymbolTableResetTest.java Changeset: 23a87f409371 Author: lana Date: 2017-04-27 16:07 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/23a87f409371 Added tag jdk-9+167 for changeset 646567dcfa64 ! .hgtags Changeset: df63b2d22ac6 Author: lana Date: 2017-05-04 16:38 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/df63b2d22ac6 Added tag jdk-9+168 for changeset 23a87f409371 ! .hgtags Changeset: 60abb1d1cd1d Author: ihse Date: 2017-05-09 12:54 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/60abb1d1cd1d 8179889: Fix typographic errors in copyright headers Reviewed-by: erikj, dholmes ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSAttributeChecker.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToHTMLStream.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToXMLStream.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/DOM3TreeWalker.java Changeset: f9abe02cceda Author: joehw Date: 2017-05-09 10:34 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/f9abe02cceda 8150256: removing xerces-related dead code Reviewed-by: lancea - src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/XPointerElementHandler.java - src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/XPointerFramework.java - src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/XPointerSchema.java Changeset: 5d9d2a65fb26 Author: joehw Date: 2017-05-09 11:46 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/5d9d2a65fb26 8179863: Missing copyrights in some jaxp files Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XPathParser.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/sym.java Changeset: f263aa7f60c3 Author: lana Date: 2017-05-11 16:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/f263aa7f60c3 Added tag jdk-9+169 for changeset 5d9d2a65fb26 ! .hgtags Changeset: e79b44a9d2bd Author: joehw Date: 2017-05-09 18:26 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/e79b44a9d2bd 8179868: Java API Docs of javax.xml.transform.stax contains TODOs Reviewed-by: lancea, bpb ! src/java.xml/share/classes/javax/xml/transform/stax/package.html Changeset: 8861f89ae4c0 Author: lana Date: 2017-05-11 18:11 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/8861f89ae4c0 Merge Changeset: 6e78f902f477 Author: joehw Date: 2017-05-15 20:27 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/6e78f902f477 8180060: Examine copyright header for some files Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/FeatureState.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/ParserConfigurationSettings.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/PropertyState.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/Status.java ! src/java.xml/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/XMLSimpleType.java Changeset: a5a3ac31f306 Author: lana Date: 2017-05-18 14:54 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jaxp/rev/a5a3ac31f306 Added tag jdk-9+170 for changeset 6e78f902f477 ! .hgtags From ashipile at redhat.com Fri May 19 08:33:16 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Fri, 19 May 2017 08:33:16 +0000 Subject: hg: shenandoah/jdk9/jdk: 177 new changesets Message-ID: <201705190833.v4J8XMV4012659@aojmv0008.oracle.com> Changeset: cd268728d178 Author: weijun Date: 2017-04-11 10:12 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/cd268728d178 8177969: Faster FilePermission::implies by avoiding the use of Path::relativize Reviewed-by: rriggs, mullan ! src/java.base/share/classes/java/io/FilePermission.java ! test/java/io/FilePermission/Correctness.java Changeset: c35ff69c2852 Author: dfuchs Date: 2017-04-11 16:32 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/c35ff69c2852 8178147: Race conditions in timeout handling code in http/2 incubator client Summary: Timeout handling code (in particular cancel(IOException)) is modified to take into account cancellation arising before exchange implementation is established or response completable future is created. TimeoutEvent::compareTo method is modified to be consistent with TimeoutEvent::equals. Reviewed-by: prappo, chegar, michaelm ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/Exchange.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/Http1Exchange.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/HttpClientImpl.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/MultiExchange.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/PlainHttpConnection.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/Stream.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/TimeoutEvent.java ! test/ProblemList.txt + test/java/net/httpclient/SmallTimeout.java ! test/java/net/httpclient/TimeoutOrdering.java Changeset: 23255bc8606d Author: rriggs Date: 2017-04-11 14:18 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/23255bc8606d 8178347: Process and ProcessHandle getPid method name inconsistency Reviewed-by: alanb, bpb ! src/java.base/share/classes/java/lang/Process.java ! src/java.base/share/classes/java/lang/ProcessHandle.java ! src/java.base/share/classes/java/lang/ProcessHandleImpl.java ! src/java.base/unix/classes/java/lang/ProcessImpl.java ! src/java.base/windows/classes/java/lang/ProcessImpl.java ! test/com/sun/jdi/ProcessAttachTest.java ! test/java/lang/ProcessBuilder/Basic.java ! test/java/lang/ProcessBuilder/PipelineTest.java ! test/java/lang/ProcessBuilder/Zombies.java ! test/java/lang/ProcessHandle/Basic.java ! test/java/lang/ProcessHandle/JavaChild.java ! test/java/lang/ProcessHandle/OnExitTest.java ! test/java/lang/ProcessHandle/ProcessUtil.java ! test/java/lang/ProcessHandle/TreeTest.java ! test/java/lang/Runtime/exec/SleepyCat.java ! test/java/util/logging/LoggingDeadlock2.java ! test/lib/testlibrary/jdk/testlibrary/ProcessThread.java ! test/lib/testlibrary/jdk/testlibrary/ProcessTools.java ! test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java ! test/sun/management/jmxremote/bootstrap/LocalManagementTest.java ! test/sun/management/jmxremote/startstop/JMXStartStopTest.java ! test/sun/tools/jps/LingeredApp.java ! test/sun/tools/jstat/JStatInterval.java Changeset: 0c8f43317c1f Author: ascarpino Date: 2017-04-12 12:57 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/0c8f43317c1f 8177784: Use CounterMode intrinsic for AES/GCM Reviewed-by: mullan, psandoz, chegar ! src/java.base/share/classes/com/sun/crypto/provider/CounterMode.java ! src/java.base/share/classes/com/sun/crypto/provider/GCTR.java Changeset: ede22275fbfa Author: dlong Date: 2017-04-12 16:37 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/ede22275fbfa 8158168: Missing bounds checks for some String intrinsics Reviewed-by: vlivanov, thartmann, sherman ! src/java.base/share/classes/java/lang/AbstractStringBuilder.java ! src/java.base/share/classes/java/lang/Integer.java ! src/java.base/share/classes/java/lang/Long.java ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/StringConcatHelper.java ! src/java.base/share/classes/java/lang/StringLatin1.java ! src/java.base/share/classes/java/lang/StringUTF16.java Changeset: 2a15003cb4b7 Author: jwilhelm Date: 2017-04-13 15:57 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/2a15003cb4b7 8178447: Remove link from JavaDoc to Dev guide Reviewed-by: tschatzl, dholmes ! src/jdk.management/share/classes/com/sun/management/VMOption.java Changeset: 15cb1241abad Author: lana Date: 2017-04-13 16:27 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/15cb1241abad Merge Changeset: f36e07712a1b Author: serb Date: 2017-03-21 01:39 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/f36e07712a1b 8176544: Compilation error in plaf.metal.MetalBumps.Test6657026 Reviewed-by: prr ! test/javax/swing/plaf/metal/MetalBumps/Test6657026.java Changeset: 1158c3e5bd9c Author: prr Date: 2017-03-21 11:05 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/1158c3e5bd9c Merge Changeset: 0f4994564ae6 Author: serb Date: 2017-03-23 17:50 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/0f4994564ae6 6574989: TEST_BUG: javax/sound/sampled/Clip/bug5070081.java fails sometimes Reviewed-by: prr ! test/javax/sound/sampled/Clip/bug5070081.java Changeset: e352eacd7a94 Author: prr Date: 2017-03-24 09:01 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/e352eacd7a94 Merge - src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java Changeset: 908bdcadfab5 Author: stuefe Date: 2017-03-25 18:57 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/908bdcadfab5 8177137: 8175293 breaks Windows build on Vs2010 Reviewed-by: serb, alexsch ! src/java.desktop/windows/native/libawt/windows/awt_Window.cpp Changeset: bbf040535813 Author: ddehaven Date: 2017-03-27 12:06 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/bbf040535813 Merge Changeset: b3a70b0fd710 Author: prr Date: 2017-03-28 09:45 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/b3a70b0fd710 8043773: Deprecate JComponent.AccessibleJComponent.AccessibleFocusHandler Reviewed-by: alexsch, azvegint ! src/java.desktop/share/classes/javax/swing/JComponent.java Changeset: 5ca3a286b761 Author: serb Date: 2017-03-29 17:30 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/5ca3a286b761 8177766: [TEST_BUG] JPopupMenu tests fails intermittently Reviewed-by: alexsch, yan ! test/javax/swing/JPopupMenu/4458079/bug4458079.java ! test/javax/swing/JPopupMenu/6827786/bug6827786.java Changeset: cdb6fd420176 Author: dmarkov Date: 2017-03-29 19:00 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/cdb6fd420176 8176490: [macosx] Sometimes NSWindow.isZoomed hangs Reviewed-by: serb, azvegint ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java + test/java/awt/Window/WindowDeadlockTest/WindowDeadlockTest.java Changeset: 87801ca8520c Author: alexsch Date: 2017-03-29 21:08 +0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/87801ca8520c 8177625: apple.laf.JRSUIConstants.getConstantName(int) checks for THUMB_START twice Reviewed-by: prr, serb, azvegint ! src/java.desktop/macosx/classes/apple/laf/JRSUIConstants.java Changeset: 19042d75c724 Author: serb Date: 2017-03-30 16:40 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/19042d75c724 8177461: Wrong references are used in the javadoc in the java.desktop module Reviewed-by: alexsch ! src/java.desktop/macosx/classes/com/apple/eawt/Application.java ! src/java.desktop/macosx/classes/com/apple/eawt/ApplicationAdapter.java ! src/java.desktop/macosx/classes/com/apple/eawt/ApplicationEvent.java ! src/java.desktop/macosx/classes/com/apple/eawt/ApplicationListener.java ! src/java.desktop/macosx/classes/com/apple/eawt/FullScreenAdapter.java ! src/java.desktop/macosx/classes/com/apple/eawt/FullScreenListener.java ! src/java.desktop/macosx/classes/com/apple/eawt/FullScreenUtilities.java ! src/java.desktop/macosx/classes/com/apple/eawt/MacQuitResponse.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/GestureAdapter.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/GestureEvent.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/GesturePhaseListener.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/MagnificationListener.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/RotationListener.java ! src/java.desktop/macosx/classes/com/apple/eawt/event/SwipeListener.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java ! src/java.desktop/macosx/classes/com/apple/laf/ScreenMenuPropertyListener.java ! src/java.desktop/share/classes/com/sun/awt/AWTUtilities.java ! src/java.desktop/share/classes/com/sun/awt/SecurityWarning.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/common/PaletteBuilder.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/common/SingleTileRenderedImage.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageWriter.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFDecompressor.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageWriter.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKColorType.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKGraphicsUtils.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifGraphicsUtils.java ! src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/XPStyle.java ! src/java.desktop/share/classes/com/sun/media/sound/AbstractMixer.java ! src/java.desktop/share/classes/com/sun/media/sound/AudioSynthesizer.java ! src/java.desktop/share/classes/com/sun/media/sound/SunFileReader.java ! src/java.desktop/share/classes/com/sun/media/sound/SunFileWriter.java ! src/java.desktop/share/classes/com/sun/media/sound/Toolkit.java ! src/java.desktop/share/classes/java/awt/Component.java ! src/java.desktop/share/classes/java/awt/Desktop.java ! src/java.desktop/share/classes/java/awt/Font.java ! src/java.desktop/share/classes/java/awt/Menu.java ! src/java.desktop/share/classes/java/awt/MenuBar.java ! src/java.desktop/share/classes/java/awt/PaintContext.java ! src/java.desktop/share/classes/java/awt/SystemTray.java ! src/java.desktop/share/classes/java/awt/Toolkit.java ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java ! src/java.desktop/share/classes/java/awt/desktop/FilesEvent.java ! src/java.desktop/share/classes/java/awt/font/CharArrayIterator.java ! src/java.desktop/share/classes/java/awt/peer/DesktopPeer.java ! src/java.desktop/share/classes/java/awt/print/PrinterJob.java ! src/java.desktop/share/classes/java/beans/ChangeListenerMap.java ! src/java.desktop/share/classes/javax/accessibility/AccessibleContext.java ! src/java.desktop/share/classes/javax/print/attribute/standard/MediaPrintableArea.java ! src/java.desktop/share/classes/javax/swing/Action.java ! src/java.desktop/share/classes/javax/swing/ActionPropertyChangeListener.java ! src/java.desktop/share/classes/javax/swing/JSpinner.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/LazyActionMap.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalFontDesktopProperty.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalRootPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java ! src/java.desktop/share/classes/javax/swing/text/DefaultEditorKit.java ! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java ! src/java.desktop/share/classes/javax/swing/text/GlyphPainter1.java ! src/java.desktop/share/classes/javax/swing/text/GlyphPainter2.java ! src/java.desktop/share/classes/javax/swing/text/ParagraphView.java ! src/java.desktop/share/classes/javax/swing/text/PlainView.java ! src/java.desktop/share/classes/javax/swing/text/TextLayoutStrategy.java ! src/java.desktop/share/classes/javax/swing/text/Utilities.java ! src/java.desktop/share/classes/javax/swing/text/html/CSS.java ! src/java.desktop/share/classes/javax/swing/text/html/FormView.java ! src/java.desktop/share/classes/javax/swing/text/html/FrameView.java ! src/java.desktop/share/classes/javax/swing/text/html/NoFramesView.java ! src/java.desktop/share/classes/javax/swing/text/rtf/RTFGenerator.java ! src/java.desktop/share/classes/javax/swing/text/rtf/RTFParser.java ! src/java.desktop/share/classes/sun/awt/image/BytePackedRaster.java ! src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java Changeset: 41703cb17ee1 Author: serb Date: 2017-03-31 18:23 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/41703cb17ee1 8177560: @headful key can be removed from the tests for JavaSound Reviewed-by: prr ! test/javax/sound/midi/Devices/InitializationHang.java ! test/javax/sound/midi/Sequencer/SeqRecordDoesNotCopy.java ! test/javax/sound/midi/Sequencer/SeqRecordsRealTimeEvents.java ! test/javax/sound/midi/Sequencer/SeqStartRecording.java ! test/javax/sound/midi/Synthesizer/bug4685396.java ! test/javax/sound/sampled/Clip/ClipCloseLoss.java ! test/javax/sound/sampled/Clip/bug5070081.java ! test/javax/sound/sampled/DataLine/LongFramePosition.java ! test/javax/sound/sampled/DirectAudio/bug6372428.java Changeset: e0f119ab7b1c Author: alitvinov Date: 2017-03-31 19:42 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/e0f119ab7b1c 8167102: [macosx] PrintRequestAttributeSet breaks page size set using PageFormat Reviewed-by: psadhukhan, prr ! src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m ! src/java.desktop/share/classes/sun/print/RasterPrinterJob.java + test/java/awt/print/PageFormat/WrongPaperPrintingTest.java Changeset: 9ccf8c6e7d7e Author: serb Date: 2017-04-05 20:33 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/9ccf8c6e7d7e 8177672: DataFlavor.imageFlavor is null when the java.desktop module is not resolved Reviewed-by: prr, mchung, alanb ! src/java.datatransfer/share/classes/java/awt/datatransfer/DataFlavor.java Changeset: 204b01546b68 Author: rsingh Date: 2017-04-10 16:20 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/204b01546b68 8177386: [TESTBUG] The "Undo" menu item in the context menu is disable Reviewed-by: serb, aghaisas Contributed-by: rahul.d.singh at oracle.com ! test/java/awt/TextField/DisabledUndoTest/DisabledUndoTest.java Changeset: f19cf7eaf0e3 Author: ssadetsky Date: 2017-04-10 08:30 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/f19cf7eaf0e3 8164469: [TEST_BUG] Unity, java/awt/MouseInfo/JContainerMousePositionTest.java Reviewed-by: yan, serb ! test/java/awt/MouseInfo/JContainerMousePositionTest.java Changeset: da335cb02480 Author: prr Date: 2017-04-10 08:31 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/da335cb02480 Merge - src/java.base/share/classes/java/lang/reflect/Layer.java - src/java.base/share/classes/java/lang/reflect/LayerInstantiationException.java - src/java.base/share/classes/java/lang/reflect/Module.java - src/java.base/share/classes/java/lang/reflect/WeakPairMap.java - src/java.base/share/classes/jdk/internal/misc/JavaLangReflectModuleAccess.java ! src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFBaseJPEGCompressor.java ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java ! src/java.desktop/share/classes/javax/swing/text/PlainView.java - test/java/lang/reflect/Layer/BasicLayerTest.java - test/java/lang/reflect/Layer/LayerAndLoadersTest.java - test/java/lang/reflect/Layer/LayerControllerTest.java - test/java/lang/reflect/Layer/layertest/Test.java - test/java/lang/reflect/Layer/src/m1/module-info.java - test/java/lang/reflect/Layer/src/m1/p/Main.java - test/java/lang/reflect/Layer/src/m1/p/Service.java - test/java/lang/reflect/Layer/src/m2/module-info.java - test/java/lang/reflect/Layer/src/m2/q/Hello.java - test/java/lang/reflect/Layer/src/m3/module-info.java - test/java/lang/reflect/Layer/src/m3/w/Hello.java - test/java/lang/reflect/Layer/src/m4/impl/ServiceImpl.java - test/java/lang/reflect/Layer/src/m4/module-info.java - test/java/lang/reflect/Module/AddExportsTest.java - test/java/lang/reflect/Module/AnnotationsTest.java - test/java/lang/reflect/Module/BasicModuleTest.java - test/java/lang/reflect/Module/WithSecurityManager.java - test/java/lang/reflect/Module/access/AccessTest.java - test/java/lang/reflect/Module/access/src/target/module-info.java - test/java/lang/reflect/Module/access/src/target/p1/Helper.java - test/java/lang/reflect/Module/access/src/target/p1/Public.java - test/java/lang/reflect/Module/access/src/target/p2/NonPublic.java - test/java/lang/reflect/Module/access/src/target/q1/Public.java - test/java/lang/reflect/Module/access/src/target/q2/NonPublic.java - test/java/lang/reflect/Module/access/src/test/module-info.java - test/java/lang/reflect/Module/access/src/test/test/Main.java - test/java/lang/reflect/Module/addXXX/Driver.java - test/java/lang/reflect/Module/addXXX/m1/module-info.java - test/java/lang/reflect/Module/addXXX/m1/p1/C.java - test/java/lang/reflect/Module/addXXX/m2/module-info.java - test/java/lang/reflect/Module/addXXX/m2/p2/C.java - test/java/lang/reflect/Module/addXXX/m2/p2/internal/C.java - test/java/lang/reflect/Module/addXXX/m3/module-info.java - test/java/lang/reflect/Module/addXXX/m3/p3/C.java - test/java/lang/reflect/Module/addXXX/m4/module-info.java - test/java/lang/reflect/Module/addXXX/m4/p4/C.java - test/java/lang/reflect/Module/addXXX/test/module-info.java - test/java/lang/reflect/Module/addXXX/test/test/C.java - test/java/lang/reflect/Module/addXXX/test/test/Main.java - test/java/lang/reflect/Module/addXXX/test/test/Service.java - test/java/lang/reflect/Module/allow.policy - test/java/lang/reflect/Module/annotation/Basic.java - test/java/lang/reflect/Module/annotation/src/m/module-info.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Bar.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Baz.java - test/java/lang/reflect/Module/annotation/src/m/p/annotation/Foo.java - test/java/lang/reflect/WeakPairMap/Driver.java - test/java/lang/reflect/WeakPairMap/java.base/java/lang/reflect/WeakPairMapTest.java Changeset: c69e8ca0008e Author: prr Date: 2017-04-10 09:05 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/c69e8ca0008e Merge Changeset: 79e099ab284b Author: mcherkas Date: 2017-04-11 00:05 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/79e099ab284b 8177450: javax.swing.text.html.parser.Parser parseScript ignores a character after commend end Reviewed-by: prr, alexsch ! src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java + test/javax/swing/text/html/parser/Parser/HtmlCommentTagParseTest/HtmlCommentTagParseTest.java + test/javax/swing/text/html/parser/Parser/HtmlCommentTagParseTest/test.html Changeset: b289db56c862 Author: prr Date: 2017-04-13 10:01 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/b289db56c862 Merge Changeset: 413e8af4fc3c Author: darcy Date: 2017-04-13 10:59 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/413e8af4fc3c 8177683: Suppress lint removal warnings in jdk.security and jdk.policytool Reviewed-by: weijun ! src/jdk.policytool/share/classes/sun/security/tools/policytool/PolicyTool.java ! src/jdk.security.auth/share/classes/com/sun/security/auth/module/SolarisLoginModule.java Changeset: 5bfdd4e83008 Author: darcy Date: 2017-04-13 11:05 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/5bfdd4e83008 8177684: Suppress lint removal warnings in AppletSecurity Reviewed-by: mchung, mullan ! src/java.desktop/share/classes/sun/applet/AppletSecurity.java Changeset: 2c28af3a1e5d Author: darcy Date: 2017-04-13 11:08 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/2c28af3a1e5d 8177682: Suppress removal warning for System.runFinalizersOnExit Reviewed-by: mchung, smarks ! src/java.base/share/classes/java/lang/System.java Changeset: 2b4bacfcbe17 Author: darcy Date: 2017-04-13 11:16 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/2b4bacfcbe17 8177723: Suppress lint removal warning in java.se.ee and jdk.unsupported Reviewed-by: lancea, chegar ! src/java.se.ee/share/classes/module-info.java ! src/jdk.unsupported/share/classes/sun/reflect/Reflection.java Changeset: 5f24e5bf62bd Author: amlu Date: 2017-04-14 15:30 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/5f24e5bf62bd 8169971: JLinkMultiReleaseJarTest.java fails intermittently at the final clean up Reviewed-by: chegar, psandoz ! test/ProblemList.txt ! test/tools/jlink/multireleasejar/JLinkMultiReleaseJarTest.java Changeset: fc53a0468c1f Author: tidu Date: 2017-04-14 00:05 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/fc53a0468c1f 8178083: Remove intermittent key from java/security/SignedObject/Chain.java Reviewed-by: xuelei Contributed-by: Tim Du ! test/java/security/SignedObject/Chain.java Changeset: 389b078873a0 Author: chegar Date: 2017-04-14 10:47 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/389b078873a0 8177536: Avoid Apple Peer-to-Peer interfaces in networking tests Reviewed-by: michaelm, rriggs ! test/java/net/Inet6Address/B6206527.java ! test/java/net/Inet6Address/B6558853.java ! test/java/net/InetAddress/CheckJNI.java ! test/java/net/MulticastSocket/B6427403.java - test/java/net/MulticastSocket/JoinGroup.java + test/java/net/MulticastSocket/JoinLeave.java - test/java/net/MulticastSocket/Leave.java + test/java/net/NetworkConfigurationProbe.java ! test/java/net/Socket/LinkLocal.java ! test/java/net/SocketPermission/SocketPermissionTest.java ! test/java/net/ipv6tests/B6521014.java ! test/java/net/ipv6tests/Tests.java + test/lib/testlibrary/jdk/testlibrary/NetworkConfiguration.java ! test/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java Changeset: 2a96f24cea2e Author: mli Date: 2017-04-14 04:07 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/2a96f24cea2e 8145163: Test Task for Platform Logging API and Service -- for moduralization Reviewed-by: dfuchs + test/java/lang/System/LoggerFinder/modules/Base.java + test/java/lang/System/LoggerFinder/modules/JDKLoggerForImageTest.java + test/java/lang/System/LoggerFinder/modules/JDKLoggerForJDKTest.java + test/java/lang/System/LoggerFinder/modules/LoggerInImageTest.java + test/java/lang/System/LoggerFinder/modules/NamedLoggerForImageTest.java + test/java/lang/System/LoggerFinder/modules/NamedLoggerForJDKTest.java + test/java/lang/System/LoggerFinder/modules/UnnamedLoggerForImageTest.java + test/java/lang/System/LoggerFinder/modules/UnnamedLoggerForJDKTest.java + test/java/lang/System/LoggerFinder/modules/boot_client/BootClient.java + test/java/lang/System/LoggerFinder/modules/boot_usage/BootUsage.java + test/java/lang/System/LoggerFinder/modules/named_client/m.t.a/module-info.java + test/java/lang/System/LoggerFinder/modules/named_client/m.t.a/pkg/a/t/TestA.java + test/java/lang/System/LoggerFinder/modules/named_logger/m.l.a/module-info.java + test/java/lang/System/LoggerFinder/modules/named_logger/m.l.a/pkg/a/l/LoggerA.java + test/java/lang/System/LoggerFinder/modules/named_logger/m.l.a/pkg/a/p/LoggerFinderA.java + test/java/lang/System/LoggerFinder/modules/patched_client/PatchedClient.java + test/java/lang/System/LoggerFinder/modules/patched_usage/java.base/java/lang/PatchedUsage.java + test/java/lang/System/LoggerFinder/modules/unnamed_client/pkg/b/t/TestB.java + test/java/lang/System/LoggerFinder/modules/unnamed_logger/META-INF/services/java.lang.System$LoggerFinder + test/java/lang/System/LoggerFinder/modules/unnamed_logger/pkg/b/l/LoggerB.java + test/java/lang/System/LoggerFinder/modules/unnamed_logger/pkg/b/p/LoggerFinderB.java Changeset: d7add8d9ab22 Author: weijun Date: 2017-04-15 00:58 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/d7add8d9ab22 8178795: krb5 Basic.java test should be basic Reviewed-by: xuelei ! test/sun/security/krb5/auto/Basic.java + test/sun/security/krb5/auto/ModuleName.java Changeset: d1c491ec39d2 Author: bpb Date: 2017-04-14 14:02 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/d1c491ec39d2 8178783: Java_sun_nio_ch_EPoll_close0 definition, but no sun.nio.ch.EPoll.close0 declaration. Summary: Delete unused method. Reviewed-by: rriggs, chegar ! src/java.base/linux/native/libnio/ch/EPoll.c Changeset: 9ba6760481a8 Author: lancea Date: 2017-04-15 16:54 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/9ba6760481a8 8164390: Add module javadoc to jdk.internal.jvmstat Reviewed-by: alanb, mchung ! src/jdk.internal.jvmstat/share/classes/module-info.java Changeset: d57893482534 Author: mli Date: 2017-04-17 01:02 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/d57893482534 8178840: Adds FieldSetAccessibleTest.java and VerifyJimage.java to ProblemList Summary: Adds FieldSetAccessibleTest.java and VerifyJimage.java to ProblemList due to JDK-8178776 Reviewed-by: alanb Contributed-by: John Jiang ! test/ProblemList.txt Changeset: 5d2b48f1f0a3 Author: naoto Date: 2017-04-17 14:46 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/5d2b48f1f0a3 8177314: java VM fails to start with a Japanese ShiftJIS locale Reviewed-by: sherman, mchung ! make/data/charsetmapping/stdcs-linux Changeset: b4a7d4678a43 Author: lana Date: 2017-04-20 18:14 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/b4a7d4678a43 Added tag jdk-9+166 for changeset 5d2b48f1f0a3 ! .hgtags Changeset: 91b0fe2e552a Author: smarks Date: 2017-04-17 15:51 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/91b0fe2e552a 8177789: fix collections framework links to point to java.util package doc Reviewed-by: bchristi, martin ! src/java.base/share/classes/java/lang/Comparable.java ! src/java.base/share/classes/java/lang/UnsupportedOperationException.java ! src/java.base/share/classes/java/util/AbstractCollection.java ! src/java.base/share/classes/java/util/AbstractList.java ! src/java.base/share/classes/java/util/AbstractMap.java ! src/java.base/share/classes/java/util/AbstractQueue.java ! src/java.base/share/classes/java/util/AbstractSequentialList.java ! src/java.base/share/classes/java/util/AbstractSet.java ! src/java.base/share/classes/java/util/ArrayDeque.java ! src/java.base/share/classes/java/util/ArrayList.java ! src/java.base/share/classes/java/util/Arrays.java ! src/java.base/share/classes/java/util/Collection.java ! src/java.base/share/classes/java/util/Collections.java ! src/java.base/share/classes/java/util/Comparator.java ! src/java.base/share/classes/java/util/Deque.java ! src/java.base/share/classes/java/util/EnumMap.java ! src/java.base/share/classes/java/util/EnumSet.java ! src/java.base/share/classes/java/util/HashMap.java ! src/java.base/share/classes/java/util/HashSet.java ! src/java.base/share/classes/java/util/Hashtable.java ! src/java.base/share/classes/java/util/IdentityHashMap.java ! src/java.base/share/classes/java/util/Iterator.java ! src/java.base/share/classes/java/util/LinkedHashMap.java ! src/java.base/share/classes/java/util/LinkedHashSet.java ! src/java.base/share/classes/java/util/LinkedList.java ! src/java.base/share/classes/java/util/List.java ! src/java.base/share/classes/java/util/ListIterator.java ! src/java.base/share/classes/java/util/Map.java ! src/java.base/share/classes/java/util/NavigableMap.java ! src/java.base/share/classes/java/util/NavigableSet.java ! src/java.base/share/classes/java/util/PriorityQueue.java ! src/java.base/share/classes/java/util/Queue.java ! src/java.base/share/classes/java/util/RandomAccess.java ! src/java.base/share/classes/java/util/Set.java ! src/java.base/share/classes/java/util/SortedMap.java ! src/java.base/share/classes/java/util/SortedSet.java ! src/java.base/share/classes/java/util/TreeMap.java ! src/java.base/share/classes/java/util/TreeSet.java ! src/java.base/share/classes/java/util/Vector.java ! src/java.base/share/classes/java/util/WeakHashMap.java ! src/java.base/share/classes/java/util/concurrent/ArrayBlockingQueue.java ! src/java.base/share/classes/java/util/concurrent/BlockingDeque.java ! src/java.base/share/classes/java/util/concurrent/BlockingQueue.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentMap.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentNavigableMap.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListMap.java ! src/java.base/share/classes/java/util/concurrent/ConcurrentSkipListSet.java ! src/java.base/share/classes/java/util/concurrent/CopyOnWriteArrayList.java ! src/java.base/share/classes/java/util/concurrent/CopyOnWriteArraySet.java ! src/java.base/share/classes/java/util/concurrent/DelayQueue.java ! src/java.base/share/classes/java/util/concurrent/LinkedBlockingDeque.java ! src/java.base/share/classes/java/util/concurrent/LinkedBlockingQueue.java ! src/java.base/share/classes/java/util/concurrent/LinkedTransferQueue.java ! src/java.base/share/classes/java/util/concurrent/PriorityBlockingQueue.java ! src/java.base/share/classes/java/util/concurrent/SynchronousQueue.java ! src/java.base/share/classes/java/util/concurrent/TransferQueue.java ! src/java.base/share/classes/java/util/package-info.java Changeset: 1716e3c4f76f Author: shurailine Date: 2017-04-17 19:23 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/1716e3c4f76f 8173801: Modify makefiles to not build demos and samples bundles. Reviewed-by: ihse, prr, erikj ! make/CompileDemos.gmk - make/CopySamples.gmk ! src/demo/share/README - src/demo/share/jvmti/agent_util/README.txt - src/demo/share/jvmti/agent_util/agent_util.c - src/demo/share/jvmti/agent_util/agent_util.h - src/demo/share/jvmti/compiledMethodLoad/README.txt - src/demo/share/jvmti/compiledMethodLoad/compiledMethodLoad.c - src/demo/share/jvmti/compiledMethodLoad/sample.makefile.txt - src/demo/share/jvmti/gctest/README.txt - src/demo/share/jvmti/gctest/gctest.c - src/demo/share/jvmti/gctest/sample.makefile.txt - src/demo/share/jvmti/heapTracker/HeapTracker.java - src/demo/share/jvmti/heapTracker/README.txt - src/demo/share/jvmti/heapTracker/heapTracker.c - src/demo/share/jvmti/heapTracker/heapTracker.h - src/demo/share/jvmti/heapTracker/sample.makefile.txt - src/demo/share/jvmti/heapViewer/README.txt - src/demo/share/jvmti/heapViewer/heapViewer.c - src/demo/share/jvmti/heapViewer/sample.makefile.txt - src/demo/share/jvmti/index.html - src/demo/share/jvmti/java_crw_demo/README.txt - src/demo/share/jvmti/java_crw_demo/java_crw_demo.c - src/demo/share/jvmti/java_crw_demo/java_crw_demo.h - src/demo/share/jvmti/java_crw_demo/sample.makefile.txt - src/demo/share/jvmti/minst/Minst.java - src/demo/share/jvmti/minst/README.txt - src/demo/share/jvmti/minst/minst.c - src/demo/share/jvmti/minst/minst.h - src/demo/share/jvmti/minst/sample.makefile.txt - src/demo/share/jvmti/mtrace/Mtrace.java - src/demo/share/jvmti/mtrace/README.txt - src/demo/share/jvmti/mtrace/mtrace.c - src/demo/share/jvmti/mtrace/mtrace.h - src/demo/share/jvmti/mtrace/sample.makefile.txt - src/demo/share/jvmti/versionCheck/README.txt - src/demo/share/jvmti/versionCheck/sample.makefile.txt - src/demo/share/jvmti/versionCheck/versionCheck.c - src/demo/share/jvmti/waiters/Agent.cpp - src/demo/share/jvmti/waiters/Agent.hpp - src/demo/share/jvmti/waiters/Monitor.cpp - src/demo/share/jvmti/waiters/Monitor.hpp - src/demo/share/jvmti/waiters/README.txt - src/demo/share/jvmti/waiters/Thread.cpp - src/demo/share/jvmti/waiters/Thread.hpp - src/demo/share/jvmti/waiters/sample.makefile.txt - src/demo/share/jvmti/waiters/waiters.cpp - src/demo/share/management/FullThreadDump/Deadlock.java - src/demo/share/management/FullThreadDump/FullThreadDump.java - src/demo/share/management/FullThreadDump/README.txt - src/demo/share/management/FullThreadDump/ThreadMonitor.java - src/demo/share/management/JTop/JTop.java - src/demo/share/management/JTop/JTopPlugin.java - src/demo/share/management/JTop/META-INF/services/com.sun.tools.jconsole.JConsolePlugin - src/demo/share/management/JTop/README.txt - src/demo/share/management/MemoryMonitor/MemoryMonitor.java - src/demo/share/management/MemoryMonitor/README.txt - src/demo/share/management/VerboseGC/PrintGCStat.java - src/demo/share/management/VerboseGC/README.txt - src/demo/share/management/VerboseGC/VerboseGC.java - src/demo/share/management/index.html - src/demo/share/scripting/jconsole-plugin/README.txt - src/demo/share/scripting/jconsole-plugin/build.xml - src/demo/share/scripting/jconsole-plugin/src/META-INF/services/com.sun.tools.jconsole.JConsolePlugin - src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/EditableAtEndDocument.java - src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptJConsolePlugin.java - src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptShellPanel.java - src/demo/share/scripting/jconsole-plugin/src/resources/jconsole.js - src/demo/share/scripting/jconsole-plugin/src/scripts/heapdump.js - src/demo/share/scripting/jconsole-plugin/src/scripts/hello.js - src/demo/share/scripting/jconsole-plugin/src/scripts/invoke.js - src/demo/share/scripting/jconsole-plugin/src/scripts/jstack.js - src/demo/share/scripting/jconsole-plugin/src/scripts/jtop.js - src/demo/share/scripting/jconsole-plugin/src/scripts/sysprops.js - src/demo/share/scripting/jconsole-plugin/src/scripts/verbose.js - src/demo/solaris/jni/Poller/Client.java - src/demo/solaris/jni/Poller/LinkedQueue.java - src/demo/solaris/jni/Poller/Poller.c - src/demo/solaris/jni/Poller/Poller.java - src/demo/solaris/jni/Poller/PollingServer.java - src/demo/solaris/jni/Poller/README.txt - src/demo/solaris/jni/Poller/SimpleServer.java - src/sample/share/README - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Device.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Kettle.xml - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Module.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/PluginChecker.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Require.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/RequireContainer.java - src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/BoilerPlugin.java - src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/ExtendedBoilerPlugin.java - src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/TimerPlugin.java - src/sample/share/annotations/Validator/src/PositiveIntegerSupplier.java - src/sample/share/annotations/Validator/src/SupplierValidator.java - src/sample/share/annotations/Validator/src/Validate.java - src/sample/share/annotations/Validator/src/Validator.java - src/sample/share/annotations/index.html - src/sample/share/forkjoin/mergesort/MergeDemo.java - src/sample/share/forkjoin/mergesort/MergeSort.java - src/sample/share/jmx/jmx-scandir/build.properties - src/sample/share/jmx/jmx-scandir/build.xml - src/sample/share/jmx/jmx-scandir/index.html - src/sample/share/jmx/jmx-scandir/logging.properties - src/sample/share/jmx/jmx-scandir/manifest.mf - src/sample/share/jmx/jmx-scandir/nbproject/file-targets.xml - src/sample/share/jmx/jmx-scandir/nbproject/jdk.xml - src/sample/share/jmx/jmx-scandir/nbproject/netbeans-targets.xml - src/sample/share/jmx/jmx-scandir/nbproject/project.xml - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScanner.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScannerMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManager.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManagerMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirAgent.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirClient.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfigMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManager.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManagerMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/DirectoryScannerConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/FileMatch.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultLogConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultRecord.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ScanManagerConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/XmlConfigUtils.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/package.html - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/package.html - src/sample/share/jmx/jmx-scandir/src/etc/access.properties - src/sample/share/jmx/jmx-scandir/src/etc/management.properties - src/sample/share/jmx/jmx-scandir/src/etc/password.properties - src/sample/share/jmx/jmx-scandir/src/etc/testconfig.xml - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/DirectoryScannerTest.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanDirConfigTest.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanManagerTest.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/TestUtils.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/config/XmlConfigUtilsTest.java - src/sample/share/lambda/BulkDataOperations/index.html - src/sample/share/lambda/BulkDataOperations/src/CSVProcessor.java - src/sample/share/lambda/BulkDataOperations/src/Grep.java - src/sample/share/lambda/BulkDataOperations/src/PasswordGenerator.java - src/sample/share/lambda/BulkDataOperations/src/WC.java - src/sample/share/lambda/DefaultMethods/ArrayIterator.java - src/sample/share/lambda/DefaultMethods/DiamondInheritance.java - src/sample/share/lambda/DefaultMethods/Inheritance.java - src/sample/share/lambda/DefaultMethods/MixIn.java - src/sample/share/lambda/DefaultMethods/Reflection.java - src/sample/share/lambda/DefaultMethods/SimplestUsage.java - src/sample/share/nbproject/project.xml - src/sample/share/nio/chatserver/ChatServer.java - src/sample/share/nio/chatserver/Client.java - src/sample/share/nio/chatserver/ClientReader.java - src/sample/share/nio/chatserver/DataReader.java - src/sample/share/nio/chatserver/MessageReader.java - src/sample/share/nio/chatserver/NameReader.java - src/sample/share/nio/chatserver/README.txt - src/sample/share/nio/file/AclEdit.java - src/sample/share/nio/file/Chmod.java - src/sample/share/nio/file/Copy.java - src/sample/share/nio/file/DiskUsage.java - src/sample/share/nio/file/FileType.java - src/sample/share/nio/file/WatchDir.java - src/sample/share/nio/file/Xdd.java - src/sample/share/nio/multicast/MulticastAddress.java - src/sample/share/nio/multicast/Reader.java - src/sample/share/nio/multicast/Sender.java - src/sample/share/nio/server/AcceptHandler.java - src/sample/share/nio/server/Acceptor.java - src/sample/share/nio/server/B1.java - src/sample/share/nio/server/BN.java - src/sample/share/nio/server/BP.java - src/sample/share/nio/server/ChannelIO.java - src/sample/share/nio/server/ChannelIOSecure.java - src/sample/share/nio/server/Content.java - src/sample/share/nio/server/Dispatcher.java - src/sample/share/nio/server/Dispatcher1.java - src/sample/share/nio/server/DispatcherN.java - src/sample/share/nio/server/FileContent.java - src/sample/share/nio/server/Handler.java - src/sample/share/nio/server/MalformedRequestException.java - src/sample/share/nio/server/N1.java - src/sample/share/nio/server/N2.java - src/sample/share/nio/server/README.txt - src/sample/share/nio/server/Reply.java - src/sample/share/nio/server/Request.java - src/sample/share/nio/server/RequestHandler.java - src/sample/share/nio/server/RequestServicer.java - src/sample/share/nio/server/Sendable.java - src/sample/share/nio/server/Server.java - src/sample/share/nio/server/StringContent.java - src/sample/share/nio/server/URLDumper.java - src/sample/share/scripting/scriptpad/README.txt - src/sample/share/scripting/scriptpad/build.properties - src/sample/share/scripting/scriptpad/build.xml - src/sample/share/scripting/scriptpad/nbproject/file-targets.xml - src/sample/share/scripting/scriptpad/nbproject/jdk.xml - src/sample/share/scripting/scriptpad/nbproject/netbeans-targets.xml - src/sample/share/scripting/scriptpad/nbproject/project.xml - src/sample/share/scripting/scriptpad/src/META-INF/manifest.mf - src/sample/share/scripting/scriptpad/src/com/sun/sample/scriptpad/Main.java - src/sample/share/scripting/scriptpad/src/resources/Main.js - src/sample/share/scripting/scriptpad/src/resources/conc.js - src/sample/share/scripting/scriptpad/src/resources/gui.js - src/sample/share/scripting/scriptpad/src/resources/mm.js - src/sample/share/scripting/scriptpad/src/resources/scriptpad.js - src/sample/share/scripting/scriptpad/src/scripts/README.txt - src/sample/share/scripting/scriptpad/src/scripts/browse.js - src/sample/share/scripting/scriptpad/src/scripts/insertfile.js - src/sample/share/scripting/scriptpad/src/scripts/linewrap.js - src/sample/share/scripting/scriptpad/src/scripts/mail.js - src/sample/share/scripting/scriptpad/src/scripts/memmonitor.js - src/sample/share/scripting/scriptpad/src/scripts/memory.bat - src/sample/share/scripting/scriptpad/src/scripts/memory.js - src/sample/share/scripting/scriptpad/src/scripts/memory.sh - src/sample/share/scripting/scriptpad/src/scripts/textcolor.js - src/sample/share/try-with-resources/index.html - src/sample/share/try-with-resources/src/CustomAutoCloseableSample.java - src/sample/share/try-with-resources/src/Unzip.java - src/sample/share/try-with-resources/src/ZipCat.java - src/sample/share/vm/clr-jvm/Makefile - src/sample/share/vm/clr-jvm/README.txt - src/sample/share/vm/clr-jvm/invoked.java - src/sample/share/vm/clr-jvm/invoker.cs - src/sample/share/vm/clr-jvm/jinvoker.cpp - src/sample/share/vm/clr-jvm/jinvokerExp.h - src/sample/share/vm/jvm-clr/Makefile - src/sample/share/vm/jvm-clr/README.txt - src/sample/share/vm/jvm-clr/invoked.cs - src/sample/share/vm/jvm-clr/invoker.cpp - src/sample/share/vm/jvm-clr/invoker.h - src/sample/share/vm/jvm-clr/invoker.java - src/sample/share/vm/jvm-clr/invokerExp.h - src/sample/solaris/dtrace/README.txt - src/sample/solaris/dtrace/helpers/dtrace_helper.d - src/sample/solaris/dtrace/hotspot/README.txt - src/sample/solaris/dtrace/hotspot/class_loading_stat.d - src/sample/solaris/dtrace/hotspot/gc_time_stat.d - src/sample/solaris/dtrace/hotspot/hotspot_calls_tree.d - src/sample/solaris/dtrace/hotspot/method_compile_stat.d - src/sample/solaris/dtrace/hotspot/method_invocation_stat.d - src/sample/solaris/dtrace/hotspot/method_invocation_stat_filter.d - src/sample/solaris/dtrace/hotspot/method_invocation_tree.d - src/sample/solaris/dtrace/hotspot/monitors.d - src/sample/solaris/dtrace/hotspot/object_allocation_stat.d - src/sample/solaris/dtrace/hotspot_jni/CriticalSection.d - src/sample/solaris/dtrace/hotspot_jni/CriticalSection_slow.d - src/sample/solaris/dtrace/hotspot_jni/README.txt - src/sample/solaris/dtrace/hotspot_jni/hotspot_jni_calls_stat.d - src/sample/solaris/dtrace/hotspot_jni/hotspot_jni_calls_tree.d Changeset: 1686a2d061b7 Author: shurailine Date: 2017-04-18 07:49 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/1686a2d061b7 Merge Changeset: 884954a6b5fb Author: shurailine Date: 2017-04-18 11:25 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/884954a6b5fb 8178910: Problemlist sample tests Reviewed-by: darcy ! test/ProblemList.txt Changeset: b2b769e0a708 Author: mchung Date: 2017-04-18 11:35 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/b2b769e0a708 8178404: jlink --suggest-providers should list providers from observable modules Reviewed-by: alanb ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Jlink.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink.properties ! test/tools/jlink/bindservices/BindServices.java ! test/tools/jlink/bindservices/SuggestProviders.java ! test/tools/jlink/bindservices/src/m3/module-info.java + test/tools/jlink/bindservices/src/m3/p3/MyProvider.java + test/tools/jlink/bindservices/src/m3/p3/S.java Changeset: 63a174bf063a Author: kbarrett Date: 2017-04-19 00:29 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/63a174bf063a 8178832: (ref) jdk.lang.ref.disableClearBeforeEnqueue property is ignored Summary: Delay property access to first use, and fix test. Reviewed-by: mchung ! src/java.base/share/classes/java/lang/ref/Reference.java ! test/java/lang/ref/ReferenceEnqueue.java Changeset: c2556da831ef Author: jlahoda Date: 2017-04-19 13:38 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/c2556da831ef 8178012: Finish removal of -Xmodule: Summary: Setting jtreg to use --patch-module instead of -Xmodule:. Reviewed-by: alanb ! test/TEST.ROOT Changeset: 8cba9cc074b8 Author: simonis Date: 2017-04-19 14:17 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/8cba9cc074b8 8178726: Can't load classes from classpath if it is a UNC share Reviewed-by: alanb, weijun, chegar ! src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java Changeset: d046e0ed0287 Author: ihse Date: 2017-04-19 14:28 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/d046e0ed0287 8178438: Info-privileged.plist claims launchers to be "OpenJDK 7 Command" Reviewed-by: erikj ! src/java.base/macosx/native/launcher/Info-privileged.plist Changeset: 73e2d15f0145 Author: serb Date: 2016-10-03 19:55 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/73e2d15f0145 8165626: Improved window framing Reviewed-by: ddehaven, prr, mschoene, ssadetsky ! src/java.desktop/macosx/classes/com/apple/eawt/_AppDockIconHandler.java ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLLayer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CFRetainedResource.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CImage.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CMenuItem.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformComponent.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformLWWindow.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CTrayIcon.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CViewPlatformEmbeddedFrame.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CWarningWindow.java ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTSurfaceLayers.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/AWTSurfaceLayers.m ! test/java/awt/TrayIcon/SystemTrayIconHelper.java Changeset: 4127ccedcced Author: dfuchs Date: 2016-10-20 15:10 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/4127ccedcced 8163520: Reuse cache entries Reviewed-by: chegar, michaelm, weijun, aefimov, ahgross ! src/java.base/share/classes/sun/net/www/http/HttpClient.java ! src/java.base/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/java.base/unix/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/java.base/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java Changeset: d900d6aa3828 Author: serb Date: 2016-11-19 13:10 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/d900d6aa3828 8167110: Windows peering issue Reviewed-by: ssadetsky, mschoene, prr ! src/java.desktop/windows/classes/sun/awt/windows/WMenuItemPeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WObjectPeer.java ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Menu.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Menu.h ! src/java.desktop/windows/native/libawt/windows/awt_MenuBar.cpp ! src/java.desktop/windows/native/libawt/windows/awt_MenuBar.h ! src/java.desktop/windows/native/libawt/windows/awt_MenuItem.cpp ! src/java.desktop/windows/native/libawt/windows/awt_MenuItem.h ! src/java.desktop/windows/native/libawt/windows/awt_PopupMenu.cpp ! src/java.desktop/windows/native/libawt/windows/awt_PopupMenu.h Changeset: 96bf29b26e56 Author: dfuchs Date: 2016-12-20 18:02 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/96bf29b26e56 8170814: Reuse cache entries (part II) Reviewed-by: chegar, ahgross, weijun, aefimov, michaelm ! src/java.base/share/classes/sun/net/www/http/HttpClient.java ! src/java.base/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java Changeset: 5d29e086bffc Author: rriggs Date: 2017-02-03 14:10 -0500 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/5d29e086bffc 8172299: Improve class processing Reviewed-by: coffeys, chegar, ahgross, skoivu, rhalade ! src/java.base/share/classes/java/io/ObjectInputStream.java ! test/java/io/Serializable/serialFilter/SerialFilterTest.java Changeset: ada6fcb7cfd1 Author: vtewari Date: 2017-02-10 10:11 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/ada6fcb7cfd1 8170222: Better transfers of files Reviewed-by: dfuchs, chegar ! src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java Changeset: 117d27ac1ede Author: vtewari Date: 2017-02-22 15:23 +0530 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/117d27ac1ede 8171533: Better email transfer Reviewed-by: chegar, dfuchs ! src/java.base/share/classes/sun/net/smtp/SmtpClient.java Changeset: 43e19ddcf993 Author: dfuchs Date: 2017-02-23 12:08 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/43e19ddcf993 8174985: NTLM authentication doesn't work with IIS if NTLM cache is disabled Reviewed-by: aefimov, chegar, rhalade ! src/java.base/share/classes/sun/net/www/http/HttpClient.java Changeset: e288a5815bdb Author: mullan Date: 2017-03-20 07:38 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/e288a5815bdb 8038893: Recertify certificate matching Reviewed-by: xuelei, jdn, erikj, asmotrak ! make/CompileTools.gmk ! make/Tools.gmk ! src/java.base/share/classes/java/net/SocketPermission.java ! src/java.base/share/classes/sun/net/RegisteredDomain.java ! src/java.base/share/classes/sun/security/ssl/X509TrustManagerImpl.java ! src/java.base/share/classes/sun/security/util/HostnameChecker.java + src/java.base/share/classes/sun/security/util/RegisteredDomain.java Changeset: ce6910a0f800 Author: mchung Date: 2017-04-20 08:00 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/ce6910a0f800 8175819: OS name and arch in JMOD files should match the values as in the bundle names Reviewed-by: erikj, ihse ! src/jdk.jlink/share/classes/jdk/tools/jlink/builder/DefaultImageBuilder.java + src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Platform.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/ExcludeVMPlugin.java ! test/tools/jlink/plugins/SystemModuleDescriptors/SystemModulesTest.java Changeset: 457e37c68608 Author: ssadetsky Date: 2017-04-12 09:00 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/457e37c68608 8142534: [TEST_BUG] Test javax/swing/JMenu/8072900/WrongSelectionOnMouseOver.java fails for Ubuntu 15.10 Reviewed-by: yan, serb ! test/javax/swing/JMenu/8072900/WrongSelectionOnMouseOver.java Changeset: c01538294ddf Author: ssadetsky Date: 2017-04-13 08:04 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/c01538294ddf 8142540: [TEST_BUG] Test sun/awt/dnd/8024061/bug8024061.java fails on ubuntu Reviewed-by: yan, serb ! test/sun/awt/dnd/8024061/bug8024061.java Changeset: 91bb280a9dac Author: prr Date: 2017-04-13 10:57 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/91bb280a9dac Merge Changeset: 007f01cc0f81 Author: prr Date: 2017-04-13 14:53 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/007f01cc0f81 8178457: Remove link to 2D guide from Line2D javadoc Reviewed-by: flar ! src/java.desktop/share/classes/java/awt/geom/Line2D.java Changeset: 61ea362c37f3 Author: mcherkas Date: 2017-04-14 16:51 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/61ea362c37f3 8076249: NPE in AccessBridge while editing JList model Reviewed-by: serb, prr, alexsch ! src/java.desktop/share/classes/javax/swing/JList.java + test/javax/accessibility/JList/AccessibleJListChildNPETest.java Changeset: 2f72d8d137d8 Author: prr Date: 2017-04-17 08:37 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/2f72d8d137d8 Merge - test/java/net/MulticastSocket/JoinGroup.java - test/java/net/MulticastSocket/Leave.java Changeset: a1a3ef8fd66f Author: azvegint Date: 2017-04-17 18:44 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/a1a3ef8fd66f 8177919: java.awt.Desktop.setDefaultMenuBar???() should be specified to throw IllegalStateException Reviewed-by: serb, prr ! src/java.desktop/macosx/classes/com/apple/eawt/_AppMenuBarHandler.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaMenuBarUI.java ! src/java.desktop/share/classes/java/awt/Desktop.java ! src/java.desktop/share/classes/javax/swing/JRootPane.java Changeset: eb4e9fb470a7 Author: prr Date: 2017-04-17 08:52 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/eb4e9fb470a7 6479801: java.awt.font.LineBreakMeasurer code incorrect Reviewed-by: serb ! src/java.desktop/share/classes/java/awt/font/LineBreakMeasurer.java Changeset: 8320693956ea Author: prr Date: 2017-04-17 09:05 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/8320693956ea 8178685: Update links to guide in javax sound package javadoc Reviewed-by: serb ! src/java.desktop/share/classes/javax/sound/midi/package-info.java ! src/java.desktop/share/classes/javax/sound/midi/spi/package-info.java ! src/java.desktop/share/classes/javax/sound/sampled/package-info.java ! src/java.desktop/share/classes/javax/sound/sampled/spi/package-info.java Changeset: f11efef2d1f3 Author: prr Date: 2017-04-17 09:08 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/f11efef2d1f3 8178708: Regtest failure: java/awt/Color/LoadProfileWithSM.java Reviewed-by: serb, alanb, mchung ! src/java.desktop/share/classes/java/awt/color/ICC_Profile.java ! test/java/awt/Color/LoadProfileWithSM.java Changeset: 09aa37cacba9 Author: prr Date: 2017-04-20 08:27 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/09aa37cacba9 Merge - make/CopySamples.gmk - src/demo/share/jvmti/agent_util/README.txt - src/demo/share/jvmti/agent_util/agent_util.c - src/demo/share/jvmti/agent_util/agent_util.h - src/demo/share/jvmti/compiledMethodLoad/README.txt - src/demo/share/jvmti/compiledMethodLoad/compiledMethodLoad.c - src/demo/share/jvmti/compiledMethodLoad/sample.makefile.txt - src/demo/share/jvmti/gctest/README.txt - src/demo/share/jvmti/gctest/gctest.c - src/demo/share/jvmti/gctest/sample.makefile.txt - src/demo/share/jvmti/heapTracker/HeapTracker.java - src/demo/share/jvmti/heapTracker/README.txt - src/demo/share/jvmti/heapTracker/heapTracker.c - src/demo/share/jvmti/heapTracker/heapTracker.h - src/demo/share/jvmti/heapTracker/sample.makefile.txt - src/demo/share/jvmti/heapViewer/README.txt - src/demo/share/jvmti/heapViewer/heapViewer.c - src/demo/share/jvmti/heapViewer/sample.makefile.txt - src/demo/share/jvmti/index.html - src/demo/share/jvmti/java_crw_demo/README.txt - src/demo/share/jvmti/java_crw_demo/java_crw_demo.c - src/demo/share/jvmti/java_crw_demo/java_crw_demo.h - src/demo/share/jvmti/java_crw_demo/sample.makefile.txt - src/demo/share/jvmti/minst/Minst.java - src/demo/share/jvmti/minst/README.txt - src/demo/share/jvmti/minst/minst.c - src/demo/share/jvmti/minst/minst.h - src/demo/share/jvmti/minst/sample.makefile.txt - src/demo/share/jvmti/mtrace/Mtrace.java - src/demo/share/jvmti/mtrace/README.txt - src/demo/share/jvmti/mtrace/mtrace.c - src/demo/share/jvmti/mtrace/mtrace.h - src/demo/share/jvmti/mtrace/sample.makefile.txt - src/demo/share/jvmti/versionCheck/README.txt - src/demo/share/jvmti/versionCheck/sample.makefile.txt - src/demo/share/jvmti/versionCheck/versionCheck.c - src/demo/share/jvmti/waiters/Agent.cpp - src/demo/share/jvmti/waiters/Agent.hpp - src/demo/share/jvmti/waiters/Monitor.cpp - src/demo/share/jvmti/waiters/Monitor.hpp - src/demo/share/jvmti/waiters/README.txt - src/demo/share/jvmti/waiters/Thread.cpp - src/demo/share/jvmti/waiters/Thread.hpp - src/demo/share/jvmti/waiters/sample.makefile.txt - src/demo/share/jvmti/waiters/waiters.cpp - src/demo/share/management/FullThreadDump/Deadlock.java - src/demo/share/management/FullThreadDump/FullThreadDump.java - src/demo/share/management/FullThreadDump/README.txt - src/demo/share/management/FullThreadDump/ThreadMonitor.java - src/demo/share/management/JTop/JTop.java - src/demo/share/management/JTop/JTopPlugin.java - src/demo/share/management/JTop/META-INF/services/com.sun.tools.jconsole.JConsolePlugin - src/demo/share/management/JTop/README.txt - src/demo/share/management/MemoryMonitor/MemoryMonitor.java - src/demo/share/management/MemoryMonitor/README.txt - src/demo/share/management/VerboseGC/PrintGCStat.java - src/demo/share/management/VerboseGC/README.txt - src/demo/share/management/VerboseGC/VerboseGC.java - src/demo/share/management/index.html - src/demo/share/scripting/jconsole-plugin/README.txt - src/demo/share/scripting/jconsole-plugin/build.xml - src/demo/share/scripting/jconsole-plugin/src/META-INF/services/com.sun.tools.jconsole.JConsolePlugin - src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/EditableAtEndDocument.java - src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptJConsolePlugin.java - src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptShellPanel.java - src/demo/share/scripting/jconsole-plugin/src/resources/jconsole.js - src/demo/share/scripting/jconsole-plugin/src/scripts/heapdump.js - src/demo/share/scripting/jconsole-plugin/src/scripts/hello.js - src/demo/share/scripting/jconsole-plugin/src/scripts/invoke.js - src/demo/share/scripting/jconsole-plugin/src/scripts/jstack.js - src/demo/share/scripting/jconsole-plugin/src/scripts/jtop.js - src/demo/share/scripting/jconsole-plugin/src/scripts/sysprops.js - src/demo/share/scripting/jconsole-plugin/src/scripts/verbose.js - src/demo/solaris/jni/Poller/Client.java - src/demo/solaris/jni/Poller/LinkedQueue.java - src/demo/solaris/jni/Poller/Poller.c - src/demo/solaris/jni/Poller/Poller.java - src/demo/solaris/jni/Poller/PollingServer.java - src/demo/solaris/jni/Poller/README.txt - src/demo/solaris/jni/Poller/SimpleServer.java - src/sample/share/README - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Device.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Kettle.xml - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Module.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/PluginChecker.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Require.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/RequireContainer.java - src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/BoilerPlugin.java - src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/ExtendedBoilerPlugin.java - src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/TimerPlugin.java - src/sample/share/annotations/Validator/src/PositiveIntegerSupplier.java - src/sample/share/annotations/Validator/src/SupplierValidator.java - src/sample/share/annotations/Validator/src/Validate.java - src/sample/share/annotations/Validator/src/Validator.java - src/sample/share/annotations/index.html - src/sample/share/forkjoin/mergesort/MergeDemo.java - src/sample/share/forkjoin/mergesort/MergeSort.java - src/sample/share/jmx/jmx-scandir/build.properties - src/sample/share/jmx/jmx-scandir/build.xml - src/sample/share/jmx/jmx-scandir/index.html - src/sample/share/jmx/jmx-scandir/logging.properties - src/sample/share/jmx/jmx-scandir/manifest.mf - src/sample/share/jmx/jmx-scandir/nbproject/file-targets.xml - src/sample/share/jmx/jmx-scandir/nbproject/jdk.xml - src/sample/share/jmx/jmx-scandir/nbproject/netbeans-targets.xml - src/sample/share/jmx/jmx-scandir/nbproject/project.xml - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScanner.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScannerMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManager.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManagerMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirAgent.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirClient.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfigMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManager.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManagerMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/DirectoryScannerConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/FileMatch.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultLogConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultRecord.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ScanManagerConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/XmlConfigUtils.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/package.html - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/package.html - src/sample/share/jmx/jmx-scandir/src/etc/access.properties - src/sample/share/jmx/jmx-scandir/src/etc/management.properties - src/sample/share/jmx/jmx-scandir/src/etc/password.properties - src/sample/share/jmx/jmx-scandir/src/etc/testconfig.xml - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/DirectoryScannerTest.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanDirConfigTest.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanManagerTest.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/TestUtils.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/config/XmlConfigUtilsTest.java - src/sample/share/lambda/BulkDataOperations/index.html - src/sample/share/lambda/BulkDataOperations/src/CSVProcessor.java - src/sample/share/lambda/BulkDataOperations/src/Grep.java - src/sample/share/lambda/BulkDataOperations/src/PasswordGenerator.java - src/sample/share/lambda/BulkDataOperations/src/WC.java - src/sample/share/lambda/DefaultMethods/ArrayIterator.java - src/sample/share/lambda/DefaultMethods/DiamondInheritance.java - src/sample/share/lambda/DefaultMethods/Inheritance.java - src/sample/share/lambda/DefaultMethods/MixIn.java - src/sample/share/lambda/DefaultMethods/Reflection.java - src/sample/share/lambda/DefaultMethods/SimplestUsage.java - src/sample/share/nbproject/project.xml - src/sample/share/nio/chatserver/ChatServer.java - src/sample/share/nio/chatserver/Client.java - src/sample/share/nio/chatserver/ClientReader.java - src/sample/share/nio/chatserver/DataReader.java - src/sample/share/nio/chatserver/MessageReader.java - src/sample/share/nio/chatserver/NameReader.java - src/sample/share/nio/chatserver/README.txt - src/sample/share/nio/file/AclEdit.java - src/sample/share/nio/file/Chmod.java - src/sample/share/nio/file/Copy.java - src/sample/share/nio/file/DiskUsage.java - src/sample/share/nio/file/FileType.java - src/sample/share/nio/file/WatchDir.java - src/sample/share/nio/file/Xdd.java - src/sample/share/nio/multicast/MulticastAddress.java - src/sample/share/nio/multicast/Reader.java - src/sample/share/nio/multicast/Sender.java - src/sample/share/nio/server/AcceptHandler.java - src/sample/share/nio/server/Acceptor.java - src/sample/share/nio/server/B1.java - src/sample/share/nio/server/BN.java - src/sample/share/nio/server/BP.java - src/sample/share/nio/server/ChannelIO.java - src/sample/share/nio/server/ChannelIOSecure.java - src/sample/share/nio/server/Content.java - src/sample/share/nio/server/Dispatcher.java - src/sample/share/nio/server/Dispatcher1.java - src/sample/share/nio/server/DispatcherN.java - src/sample/share/nio/server/FileContent.java - src/sample/share/nio/server/Handler.java - src/sample/share/nio/server/MalformedRequestException.java - src/sample/share/nio/server/N1.java - src/sample/share/nio/server/N2.java - src/sample/share/nio/server/README.txt - src/sample/share/nio/server/Reply.java - src/sample/share/nio/server/Request.java - src/sample/share/nio/server/RequestHandler.java - src/sample/share/nio/server/RequestServicer.java - src/sample/share/nio/server/Sendable.java - src/sample/share/nio/server/Server.java - src/sample/share/nio/server/StringContent.java - src/sample/share/nio/server/URLDumper.java - src/sample/share/scripting/scriptpad/README.txt - src/sample/share/scripting/scriptpad/build.properties - src/sample/share/scripting/scriptpad/build.xml - src/sample/share/scripting/scriptpad/nbproject/file-targets.xml - src/sample/share/scripting/scriptpad/nbproject/jdk.xml - src/sample/share/scripting/scriptpad/nbproject/netbeans-targets.xml - src/sample/share/scripting/scriptpad/nbproject/project.xml - src/sample/share/scripting/scriptpad/src/META-INF/manifest.mf - src/sample/share/scripting/scriptpad/src/com/sun/sample/scriptpad/Main.java - src/sample/share/scripting/scriptpad/src/resources/Main.js - src/sample/share/scripting/scriptpad/src/resources/conc.js - src/sample/share/scripting/scriptpad/src/resources/gui.js - src/sample/share/scripting/scriptpad/src/resources/mm.js - src/sample/share/scripting/scriptpad/src/resources/scriptpad.js - src/sample/share/scripting/scriptpad/src/scripts/README.txt - src/sample/share/scripting/scriptpad/src/scripts/browse.js - src/sample/share/scripting/scriptpad/src/scripts/insertfile.js - src/sample/share/scripting/scriptpad/src/scripts/linewrap.js - src/sample/share/scripting/scriptpad/src/scripts/mail.js - src/sample/share/scripting/scriptpad/src/scripts/memmonitor.js - src/sample/share/scripting/scriptpad/src/scripts/memory.bat - src/sample/share/scripting/scriptpad/src/scripts/memory.js - src/sample/share/scripting/scriptpad/src/scripts/memory.sh - src/sample/share/scripting/scriptpad/src/scripts/textcolor.js - src/sample/share/try-with-resources/index.html - src/sample/share/try-with-resources/src/CustomAutoCloseableSample.java - src/sample/share/try-with-resources/src/Unzip.java - src/sample/share/try-with-resources/src/ZipCat.java - src/sample/share/vm/clr-jvm/Makefile - src/sample/share/vm/clr-jvm/README.txt - src/sample/share/vm/clr-jvm/invoked.java - src/sample/share/vm/clr-jvm/invoker.cs - src/sample/share/vm/clr-jvm/jinvoker.cpp - src/sample/share/vm/clr-jvm/jinvokerExp.h - src/sample/share/vm/jvm-clr/Makefile - src/sample/share/vm/jvm-clr/README.txt - src/sample/share/vm/jvm-clr/invoked.cs - src/sample/share/vm/jvm-clr/invoker.cpp - src/sample/share/vm/jvm-clr/invoker.h - src/sample/share/vm/jvm-clr/invoker.java - src/sample/share/vm/jvm-clr/invokerExp.h - src/sample/solaris/dtrace/README.txt - src/sample/solaris/dtrace/helpers/dtrace_helper.d - src/sample/solaris/dtrace/hotspot/README.txt - src/sample/solaris/dtrace/hotspot/class_loading_stat.d - src/sample/solaris/dtrace/hotspot/gc_time_stat.d - src/sample/solaris/dtrace/hotspot/hotspot_calls_tree.d - src/sample/solaris/dtrace/hotspot/method_compile_stat.d - src/sample/solaris/dtrace/hotspot/method_invocation_stat.d - src/sample/solaris/dtrace/hotspot/method_invocation_stat_filter.d - src/sample/solaris/dtrace/hotspot/method_invocation_tree.d - src/sample/solaris/dtrace/hotspot/monitors.d - src/sample/solaris/dtrace/hotspot/object_allocation_stat.d - src/sample/solaris/dtrace/hotspot_jni/CriticalSection.d - src/sample/solaris/dtrace/hotspot_jni/CriticalSection_slow.d - src/sample/solaris/dtrace/hotspot_jni/README.txt - src/sample/solaris/dtrace/hotspot_jni/hotspot_jni_calls_stat.d - src/sample/solaris/dtrace/hotspot_jni/hotspot_jni_calls_tree.d Changeset: cd75b15fb105 Author: ksrini Date: 2017-04-20 09:52 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/cd75b15fb105 8076417: Update test/jdk/asm/AsmSanity.java with modules Reviewed-by: amlu, mchung, sundar ! test/TEST.groups - test/jdk/asm/AsmSanity.java Changeset: 5f8fb7cb8a45 Author: lancea Date: 2017-04-20 13:57 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/5f8fb7cb8a45 8178915: Minor update to the PooledConnection javadoc Reviewed-by: joehw ! src/java.sql/share/classes/javax/sql/PooledConnection.java Changeset: 8ec1d93d7ff5 Author: ssadetsky Date: 2017-04-20 08:23 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/8ec1d93d7ff5 8081478: [TESTBUG] Test javax/swing/plaf/synth/SynthButtonUI/6276188/bug6276188.java fails for OEL 7 only Reviewed-by: yan, serb, alexsch ! test/javax/swing/plaf/synth/SynthButtonUI/6276188/bug6276188.java Changeset: 76ca2c1a2abd Author: ssadetsky Date: 2017-04-20 08:38 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/76ca2c1a2abd 8081454: [TESTBUG]Some java/awt/Mixing tests fail in OEL 7 only Reviewed-by: yan ! test/java/awt/Mixing/AWT_Mixing/GlassPaneOverlappingTestBase.java ! test/java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java ! test/java/awt/Mixing/AWT_Mixing/JComboBoxOverlapping.java ! test/java/awt/Mixing/AWT_Mixing/SimpleOverlappingTestBase.java Changeset: 6fd99a85c997 Author: prr Date: 2017-04-20 10:00 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/6fd99a85c997 Merge - make/CopySamples.gmk - src/demo/share/jvmti/agent_util/README.txt - src/demo/share/jvmti/agent_util/agent_util.c - src/demo/share/jvmti/agent_util/agent_util.h - src/demo/share/jvmti/compiledMethodLoad/README.txt - src/demo/share/jvmti/compiledMethodLoad/compiledMethodLoad.c - src/demo/share/jvmti/compiledMethodLoad/sample.makefile.txt - src/demo/share/jvmti/gctest/README.txt - src/demo/share/jvmti/gctest/gctest.c - src/demo/share/jvmti/gctest/sample.makefile.txt - src/demo/share/jvmti/heapTracker/HeapTracker.java - src/demo/share/jvmti/heapTracker/README.txt - src/demo/share/jvmti/heapTracker/heapTracker.c - src/demo/share/jvmti/heapTracker/heapTracker.h - src/demo/share/jvmti/heapTracker/sample.makefile.txt - src/demo/share/jvmti/heapViewer/README.txt - src/demo/share/jvmti/heapViewer/heapViewer.c - src/demo/share/jvmti/heapViewer/sample.makefile.txt - src/demo/share/jvmti/index.html - src/demo/share/jvmti/java_crw_demo/README.txt - src/demo/share/jvmti/java_crw_demo/java_crw_demo.c - src/demo/share/jvmti/java_crw_demo/java_crw_demo.h - src/demo/share/jvmti/java_crw_demo/sample.makefile.txt - src/demo/share/jvmti/minst/Minst.java - src/demo/share/jvmti/minst/README.txt - src/demo/share/jvmti/minst/minst.c - src/demo/share/jvmti/minst/minst.h - src/demo/share/jvmti/minst/sample.makefile.txt - src/demo/share/jvmti/mtrace/Mtrace.java - src/demo/share/jvmti/mtrace/README.txt - src/demo/share/jvmti/mtrace/mtrace.c - src/demo/share/jvmti/mtrace/mtrace.h - src/demo/share/jvmti/mtrace/sample.makefile.txt - src/demo/share/jvmti/versionCheck/README.txt - src/demo/share/jvmti/versionCheck/sample.makefile.txt - src/demo/share/jvmti/versionCheck/versionCheck.c - src/demo/share/jvmti/waiters/Agent.cpp - src/demo/share/jvmti/waiters/Agent.hpp - src/demo/share/jvmti/waiters/Monitor.cpp - src/demo/share/jvmti/waiters/Monitor.hpp - src/demo/share/jvmti/waiters/README.txt - src/demo/share/jvmti/waiters/Thread.cpp - src/demo/share/jvmti/waiters/Thread.hpp - src/demo/share/jvmti/waiters/sample.makefile.txt - src/demo/share/jvmti/waiters/waiters.cpp - src/demo/share/management/FullThreadDump/Deadlock.java - src/demo/share/management/FullThreadDump/FullThreadDump.java - src/demo/share/management/FullThreadDump/README.txt - src/demo/share/management/FullThreadDump/ThreadMonitor.java - src/demo/share/management/JTop/JTop.java - src/demo/share/management/JTop/JTopPlugin.java - src/demo/share/management/JTop/META-INF/services/com.sun.tools.jconsole.JConsolePlugin - src/demo/share/management/JTop/README.txt - src/demo/share/management/MemoryMonitor/MemoryMonitor.java - src/demo/share/management/MemoryMonitor/README.txt - src/demo/share/management/VerboseGC/PrintGCStat.java - src/demo/share/management/VerboseGC/README.txt - src/demo/share/management/VerboseGC/VerboseGC.java - src/demo/share/management/index.html - src/demo/share/scripting/jconsole-plugin/README.txt - src/demo/share/scripting/jconsole-plugin/build.xml - src/demo/share/scripting/jconsole-plugin/src/META-INF/services/com.sun.tools.jconsole.JConsolePlugin - src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/EditableAtEndDocument.java - src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptJConsolePlugin.java - src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptShellPanel.java - src/demo/share/scripting/jconsole-plugin/src/resources/jconsole.js - src/demo/share/scripting/jconsole-plugin/src/scripts/heapdump.js - src/demo/share/scripting/jconsole-plugin/src/scripts/hello.js - src/demo/share/scripting/jconsole-plugin/src/scripts/invoke.js - src/demo/share/scripting/jconsole-plugin/src/scripts/jstack.js - src/demo/share/scripting/jconsole-plugin/src/scripts/jtop.js - src/demo/share/scripting/jconsole-plugin/src/scripts/sysprops.js - src/demo/share/scripting/jconsole-plugin/src/scripts/verbose.js - src/demo/solaris/jni/Poller/Client.java - src/demo/solaris/jni/Poller/LinkedQueue.java - src/demo/solaris/jni/Poller/Poller.c - src/demo/solaris/jni/Poller/Poller.java - src/demo/solaris/jni/Poller/PollingServer.java - src/demo/solaris/jni/Poller/README.txt - src/demo/solaris/jni/Poller/SimpleServer.java - src/sample/share/README - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Device.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Kettle.xml - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Module.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/PluginChecker.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Require.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/RequireContainer.java - src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/BoilerPlugin.java - src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/ExtendedBoilerPlugin.java - src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/TimerPlugin.java - src/sample/share/annotations/Validator/src/PositiveIntegerSupplier.java - src/sample/share/annotations/Validator/src/SupplierValidator.java - src/sample/share/annotations/Validator/src/Validate.java - src/sample/share/annotations/Validator/src/Validator.java - src/sample/share/annotations/index.html - src/sample/share/forkjoin/mergesort/MergeDemo.java - src/sample/share/forkjoin/mergesort/MergeSort.java - src/sample/share/jmx/jmx-scandir/build.properties - src/sample/share/jmx/jmx-scandir/build.xml - src/sample/share/jmx/jmx-scandir/index.html - src/sample/share/jmx/jmx-scandir/logging.properties - src/sample/share/jmx/jmx-scandir/manifest.mf - src/sample/share/jmx/jmx-scandir/nbproject/file-targets.xml - src/sample/share/jmx/jmx-scandir/nbproject/jdk.xml - src/sample/share/jmx/jmx-scandir/nbproject/netbeans-targets.xml - src/sample/share/jmx/jmx-scandir/nbproject/project.xml - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScanner.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScannerMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManager.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManagerMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirAgent.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirClient.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfigMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManager.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManagerMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/DirectoryScannerConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/FileMatch.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultLogConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultRecord.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ScanManagerConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/XmlConfigUtils.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/package.html - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/package.html - src/sample/share/jmx/jmx-scandir/src/etc/access.properties - src/sample/share/jmx/jmx-scandir/src/etc/management.properties - src/sample/share/jmx/jmx-scandir/src/etc/password.properties - src/sample/share/jmx/jmx-scandir/src/etc/testconfig.xml - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/DirectoryScannerTest.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanDirConfigTest.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanManagerTest.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/TestUtils.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/config/XmlConfigUtilsTest.java - src/sample/share/lambda/BulkDataOperations/index.html - src/sample/share/lambda/BulkDataOperations/src/CSVProcessor.java - src/sample/share/lambda/BulkDataOperations/src/Grep.java - src/sample/share/lambda/BulkDataOperations/src/PasswordGenerator.java - src/sample/share/lambda/BulkDataOperations/src/WC.java - src/sample/share/lambda/DefaultMethods/ArrayIterator.java - src/sample/share/lambda/DefaultMethods/DiamondInheritance.java - src/sample/share/lambda/DefaultMethods/Inheritance.java - src/sample/share/lambda/DefaultMethods/MixIn.java - src/sample/share/lambda/DefaultMethods/Reflection.java - src/sample/share/lambda/DefaultMethods/SimplestUsage.java - src/sample/share/nbproject/project.xml - src/sample/share/nio/chatserver/ChatServer.java - src/sample/share/nio/chatserver/Client.java - src/sample/share/nio/chatserver/ClientReader.java - src/sample/share/nio/chatserver/DataReader.java - src/sample/share/nio/chatserver/MessageReader.java - src/sample/share/nio/chatserver/NameReader.java - src/sample/share/nio/chatserver/README.txt - src/sample/share/nio/file/AclEdit.java - src/sample/share/nio/file/Chmod.java - src/sample/share/nio/file/Copy.java - src/sample/share/nio/file/DiskUsage.java - src/sample/share/nio/file/FileType.java - src/sample/share/nio/file/WatchDir.java - src/sample/share/nio/file/Xdd.java - src/sample/share/nio/multicast/MulticastAddress.java - src/sample/share/nio/multicast/Reader.java - src/sample/share/nio/multicast/Sender.java - src/sample/share/nio/server/AcceptHandler.java - src/sample/share/nio/server/Acceptor.java - src/sample/share/nio/server/B1.java - src/sample/share/nio/server/BN.java - src/sample/share/nio/server/BP.java - src/sample/share/nio/server/ChannelIO.java - src/sample/share/nio/server/ChannelIOSecure.java - src/sample/share/nio/server/Content.java - src/sample/share/nio/server/Dispatcher.java - src/sample/share/nio/server/Dispatcher1.java - src/sample/share/nio/server/DispatcherN.java - src/sample/share/nio/server/FileContent.java - src/sample/share/nio/server/Handler.java - src/sample/share/nio/server/MalformedRequestException.java - src/sample/share/nio/server/N1.java - src/sample/share/nio/server/N2.java - src/sample/share/nio/server/README.txt - src/sample/share/nio/server/Reply.java - src/sample/share/nio/server/Request.java - src/sample/share/nio/server/RequestHandler.java - src/sample/share/nio/server/RequestServicer.java - src/sample/share/nio/server/Sendable.java - src/sample/share/nio/server/Server.java - src/sample/share/nio/server/StringContent.java - src/sample/share/nio/server/URLDumper.java - src/sample/share/scripting/scriptpad/README.txt - src/sample/share/scripting/scriptpad/build.properties - src/sample/share/scripting/scriptpad/build.xml - src/sample/share/scripting/scriptpad/nbproject/file-targets.xml - src/sample/share/scripting/scriptpad/nbproject/jdk.xml - src/sample/share/scripting/scriptpad/nbproject/netbeans-targets.xml - src/sample/share/scripting/scriptpad/nbproject/project.xml - src/sample/share/scripting/scriptpad/src/META-INF/manifest.mf - src/sample/share/scripting/scriptpad/src/com/sun/sample/scriptpad/Main.java - src/sample/share/scripting/scriptpad/src/resources/Main.js - src/sample/share/scripting/scriptpad/src/resources/conc.js - src/sample/share/scripting/scriptpad/src/resources/gui.js - src/sample/share/scripting/scriptpad/src/resources/mm.js - src/sample/share/scripting/scriptpad/src/resources/scriptpad.js - src/sample/share/scripting/scriptpad/src/scripts/README.txt - src/sample/share/scripting/scriptpad/src/scripts/browse.js - src/sample/share/scripting/scriptpad/src/scripts/insertfile.js - src/sample/share/scripting/scriptpad/src/scripts/linewrap.js - src/sample/share/scripting/scriptpad/src/scripts/mail.js - src/sample/share/scripting/scriptpad/src/scripts/memmonitor.js - src/sample/share/scripting/scriptpad/src/scripts/memory.bat - src/sample/share/scripting/scriptpad/src/scripts/memory.js - src/sample/share/scripting/scriptpad/src/scripts/memory.sh - src/sample/share/scripting/scriptpad/src/scripts/textcolor.js - src/sample/share/try-with-resources/index.html - src/sample/share/try-with-resources/src/CustomAutoCloseableSample.java - src/sample/share/try-with-resources/src/Unzip.java - src/sample/share/try-with-resources/src/ZipCat.java - src/sample/share/vm/clr-jvm/Makefile - src/sample/share/vm/clr-jvm/README.txt - src/sample/share/vm/clr-jvm/invoked.java - src/sample/share/vm/clr-jvm/invoker.cs - src/sample/share/vm/clr-jvm/jinvoker.cpp - src/sample/share/vm/clr-jvm/jinvokerExp.h - src/sample/share/vm/jvm-clr/Makefile - src/sample/share/vm/jvm-clr/README.txt - src/sample/share/vm/jvm-clr/invoked.cs - src/sample/share/vm/jvm-clr/invoker.cpp - src/sample/share/vm/jvm-clr/invoker.h - src/sample/share/vm/jvm-clr/invoker.java - src/sample/share/vm/jvm-clr/invokerExp.h - src/sample/solaris/dtrace/README.txt - src/sample/solaris/dtrace/helpers/dtrace_helper.d - src/sample/solaris/dtrace/hotspot/README.txt - src/sample/solaris/dtrace/hotspot/class_loading_stat.d - src/sample/solaris/dtrace/hotspot/gc_time_stat.d - src/sample/solaris/dtrace/hotspot/hotspot_calls_tree.d - src/sample/solaris/dtrace/hotspot/method_compile_stat.d - src/sample/solaris/dtrace/hotspot/method_invocation_stat.d - src/sample/solaris/dtrace/hotspot/method_invocation_stat_filter.d - src/sample/solaris/dtrace/hotspot/method_invocation_tree.d - src/sample/solaris/dtrace/hotspot/monitors.d - src/sample/solaris/dtrace/hotspot/object_allocation_stat.d - src/sample/solaris/dtrace/hotspot_jni/CriticalSection.d - src/sample/solaris/dtrace/hotspot_jni/CriticalSection_slow.d - src/sample/solaris/dtrace/hotspot_jni/README.txt - src/sample/solaris/dtrace/hotspot_jni/hotspot_jni_calls_stat.d - src/sample/solaris/dtrace/hotspot_jni/hotspot_jni_calls_tree.d Changeset: 0162f0f6d173 Author: prr Date: 2017-04-20 11:06 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/0162f0f6d173 Merge - test/jdk/asm/AsmSanity.java Changeset: 533d7278264b Author: smarks Date: 2017-04-20 11:40 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/533d7278264b 8167981: Optional: add notes explaining intended use Reviewed-by: martin, psandoz ! src/java.base/share/classes/java/util/Optional.java ! src/java.base/share/classes/java/util/OptionalDouble.java ! src/java.base/share/classes/java/util/OptionalInt.java ! src/java.base/share/classes/java/util/OptionalLong.java Changeset: 0a701ba4c306 Author: naoto Date: 2017-04-20 14:09 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/0a701ba4c306 8178823: Unable to initialize HijrahCalendar: Hijrah-umalqura when running with a security manager Reviewed-by: lancea, rriggs ! src/java.base/share/classes/java/time/chrono/HijrahChronology.java - test/java/time/TEST.properties + test/java/time/nontestng/java/time/chrono/Bug8178823.java + test/java/time/nontestng/java/time/chrono/bug8178823.policy + test/java/time/tck/TEST.properties + test/java/time/test/TEST.properties Changeset: 83ec9920d373 Author: mchung Date: 2017-04-20 15:06 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/83ec9920d373 8179035: Include tool modules in unified docs Reviewed-by: lancea ! src/jdk.pack/share/classes/module-info.java ! src/jdk.rmic/share/classes/module-info.java Changeset: bcb5143a2c6e Author: lana Date: 2017-04-21 03:34 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/bcb5143a2c6e Merge - make/CopySamples.gmk - src/demo/share/jvmti/agent_util/README.txt - src/demo/share/jvmti/agent_util/agent_util.c - src/demo/share/jvmti/agent_util/agent_util.h - src/demo/share/jvmti/compiledMethodLoad/README.txt - src/demo/share/jvmti/compiledMethodLoad/compiledMethodLoad.c - src/demo/share/jvmti/compiledMethodLoad/sample.makefile.txt - src/demo/share/jvmti/gctest/README.txt - src/demo/share/jvmti/gctest/gctest.c - src/demo/share/jvmti/gctest/sample.makefile.txt - src/demo/share/jvmti/heapTracker/HeapTracker.java - src/demo/share/jvmti/heapTracker/README.txt - src/demo/share/jvmti/heapTracker/heapTracker.c - src/demo/share/jvmti/heapTracker/heapTracker.h - src/demo/share/jvmti/heapTracker/sample.makefile.txt - src/demo/share/jvmti/heapViewer/README.txt - src/demo/share/jvmti/heapViewer/heapViewer.c - src/demo/share/jvmti/heapViewer/sample.makefile.txt - src/demo/share/jvmti/index.html - src/demo/share/jvmti/java_crw_demo/README.txt - src/demo/share/jvmti/java_crw_demo/java_crw_demo.c - src/demo/share/jvmti/java_crw_demo/java_crw_demo.h - src/demo/share/jvmti/java_crw_demo/sample.makefile.txt - src/demo/share/jvmti/minst/Minst.java - src/demo/share/jvmti/minst/README.txt - src/demo/share/jvmti/minst/minst.c - src/demo/share/jvmti/minst/minst.h - src/demo/share/jvmti/minst/sample.makefile.txt - src/demo/share/jvmti/mtrace/Mtrace.java - src/demo/share/jvmti/mtrace/README.txt - src/demo/share/jvmti/mtrace/mtrace.c - src/demo/share/jvmti/mtrace/mtrace.h - src/demo/share/jvmti/mtrace/sample.makefile.txt - src/demo/share/jvmti/versionCheck/README.txt - src/demo/share/jvmti/versionCheck/sample.makefile.txt - src/demo/share/jvmti/versionCheck/versionCheck.c - src/demo/share/jvmti/waiters/Agent.cpp - src/demo/share/jvmti/waiters/Agent.hpp - src/demo/share/jvmti/waiters/Monitor.cpp - src/demo/share/jvmti/waiters/Monitor.hpp - src/demo/share/jvmti/waiters/README.txt - src/demo/share/jvmti/waiters/Thread.cpp - src/demo/share/jvmti/waiters/Thread.hpp - src/demo/share/jvmti/waiters/sample.makefile.txt - src/demo/share/jvmti/waiters/waiters.cpp - src/demo/share/management/FullThreadDump/Deadlock.java - src/demo/share/management/FullThreadDump/FullThreadDump.java - src/demo/share/management/FullThreadDump/README.txt - src/demo/share/management/FullThreadDump/ThreadMonitor.java - src/demo/share/management/JTop/JTop.java - src/demo/share/management/JTop/JTopPlugin.java - src/demo/share/management/JTop/META-INF/services/com.sun.tools.jconsole.JConsolePlugin - src/demo/share/management/JTop/README.txt - src/demo/share/management/MemoryMonitor/MemoryMonitor.java - src/demo/share/management/MemoryMonitor/README.txt - src/demo/share/management/VerboseGC/PrintGCStat.java - src/demo/share/management/VerboseGC/README.txt - src/demo/share/management/VerboseGC/VerboseGC.java - src/demo/share/management/index.html - src/demo/share/scripting/jconsole-plugin/README.txt - src/demo/share/scripting/jconsole-plugin/build.xml - src/demo/share/scripting/jconsole-plugin/src/META-INF/services/com.sun.tools.jconsole.JConsolePlugin - src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/EditableAtEndDocument.java - src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptJConsolePlugin.java - src/demo/share/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptShellPanel.java - src/demo/share/scripting/jconsole-plugin/src/resources/jconsole.js - src/demo/share/scripting/jconsole-plugin/src/scripts/heapdump.js - src/demo/share/scripting/jconsole-plugin/src/scripts/hello.js - src/demo/share/scripting/jconsole-plugin/src/scripts/invoke.js - src/demo/share/scripting/jconsole-plugin/src/scripts/jstack.js - src/demo/share/scripting/jconsole-plugin/src/scripts/jtop.js - src/demo/share/scripting/jconsole-plugin/src/scripts/sysprops.js - src/demo/share/scripting/jconsole-plugin/src/scripts/verbose.js - src/demo/solaris/jni/Poller/Client.java - src/demo/solaris/jni/Poller/LinkedQueue.java - src/demo/solaris/jni/Poller/Poller.c - src/demo/solaris/jni/Poller/Poller.java - src/demo/solaris/jni/Poller/PollingServer.java - src/demo/solaris/jni/Poller/README.txt - src/demo/solaris/jni/Poller/SimpleServer.java - src/sample/share/README - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Device.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Kettle.xml - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Module.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/PluginChecker.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/Require.java - src/sample/share/annotations/DependencyChecker/PluginChecker/src/checker/RequireContainer.java - src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/BoilerPlugin.java - src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/ExtendedBoilerPlugin.java - src/sample/share/annotations/DependencyChecker/Plugins/src/plugins/TimerPlugin.java - src/sample/share/annotations/Validator/src/PositiveIntegerSupplier.java - src/sample/share/annotations/Validator/src/SupplierValidator.java - src/sample/share/annotations/Validator/src/Validate.java - src/sample/share/annotations/Validator/src/Validator.java - src/sample/share/annotations/index.html - src/sample/share/forkjoin/mergesort/MergeDemo.java - src/sample/share/forkjoin/mergesort/MergeSort.java - src/sample/share/jmx/jmx-scandir/build.properties - src/sample/share/jmx/jmx-scandir/build.xml - src/sample/share/jmx/jmx-scandir/index.html - src/sample/share/jmx/jmx-scandir/logging.properties - src/sample/share/jmx/jmx-scandir/manifest.mf - src/sample/share/jmx/jmx-scandir/nbproject/file-targets.xml - src/sample/share/jmx/jmx-scandir/nbproject/jdk.xml - src/sample/share/jmx/jmx-scandir/nbproject/netbeans-targets.xml - src/sample/share/jmx/jmx-scandir/nbproject/project.xml - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScanner.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScannerMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManager.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManagerMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirAgent.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirClient.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfigMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManager.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManagerMXBean.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/DirectoryScannerConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/FileMatch.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultLogConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultRecord.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ScanManagerConfig.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/XmlConfigUtils.java - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/package.html - src/sample/share/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/package.html - src/sample/share/jmx/jmx-scandir/src/etc/access.properties - src/sample/share/jmx/jmx-scandir/src/etc/management.properties - src/sample/share/jmx/jmx-scandir/src/etc/password.properties - src/sample/share/jmx/jmx-scandir/src/etc/testconfig.xml - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/DirectoryScannerTest.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanDirConfigTest.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanManagerTest.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/TestUtils.java - src/sample/share/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/config/XmlConfigUtilsTest.java - src/sample/share/lambda/BulkDataOperations/index.html - src/sample/share/lambda/BulkDataOperations/src/CSVProcessor.java - src/sample/share/lambda/BulkDataOperations/src/Grep.java - src/sample/share/lambda/BulkDataOperations/src/PasswordGenerator.java - src/sample/share/lambda/BulkDataOperations/src/WC.java - src/sample/share/lambda/DefaultMethods/ArrayIterator.java - src/sample/share/lambda/DefaultMethods/DiamondInheritance.java - src/sample/share/lambda/DefaultMethods/Inheritance.java - src/sample/share/lambda/DefaultMethods/MixIn.java - src/sample/share/lambda/DefaultMethods/Reflection.java - src/sample/share/lambda/DefaultMethods/SimplestUsage.java - src/sample/share/nbproject/project.xml - src/sample/share/nio/chatserver/ChatServer.java - src/sample/share/nio/chatserver/Client.java - src/sample/share/nio/chatserver/ClientReader.java - src/sample/share/nio/chatserver/DataReader.java - src/sample/share/nio/chatserver/MessageReader.java - src/sample/share/nio/chatserver/NameReader.java - src/sample/share/nio/chatserver/README.txt - src/sample/share/nio/file/AclEdit.java - src/sample/share/nio/file/Chmod.java - src/sample/share/nio/file/Copy.java - src/sample/share/nio/file/DiskUsage.java - src/sample/share/nio/file/FileType.java - src/sample/share/nio/file/WatchDir.java - src/sample/share/nio/file/Xdd.java - src/sample/share/nio/multicast/MulticastAddress.java - src/sample/share/nio/multicast/Reader.java - src/sample/share/nio/multicast/Sender.java - src/sample/share/nio/server/AcceptHandler.java - src/sample/share/nio/server/Acceptor.java - src/sample/share/nio/server/B1.java - src/sample/share/nio/server/BN.java - src/sample/share/nio/server/BP.java - src/sample/share/nio/server/ChannelIO.java - src/sample/share/nio/server/ChannelIOSecure.java - src/sample/share/nio/server/Content.java - src/sample/share/nio/server/Dispatcher.java - src/sample/share/nio/server/Dispatcher1.java - src/sample/share/nio/server/DispatcherN.java - src/sample/share/nio/server/FileContent.java - src/sample/share/nio/server/Handler.java - src/sample/share/nio/server/MalformedRequestException.java - src/sample/share/nio/server/N1.java - src/sample/share/nio/server/N2.java - src/sample/share/nio/server/README.txt - src/sample/share/nio/server/Reply.java - src/sample/share/nio/server/Request.java - src/sample/share/nio/server/RequestHandler.java - src/sample/share/nio/server/RequestServicer.java - src/sample/share/nio/server/Sendable.java - src/sample/share/nio/server/Server.java - src/sample/share/nio/server/StringContent.java - src/sample/share/nio/server/URLDumper.java - src/sample/share/scripting/scriptpad/README.txt - src/sample/share/scripting/scriptpad/build.properties - src/sample/share/scripting/scriptpad/build.xml - src/sample/share/scripting/scriptpad/nbproject/file-targets.xml - src/sample/share/scripting/scriptpad/nbproject/jdk.xml - src/sample/share/scripting/scriptpad/nbproject/netbeans-targets.xml - src/sample/share/scripting/scriptpad/nbproject/project.xml - src/sample/share/scripting/scriptpad/src/META-INF/manifest.mf - src/sample/share/scripting/scriptpad/src/com/sun/sample/scriptpad/Main.java - src/sample/share/scripting/scriptpad/src/resources/Main.js - src/sample/share/scripting/scriptpad/src/resources/conc.js - src/sample/share/scripting/scriptpad/src/resources/gui.js - src/sample/share/scripting/scriptpad/src/resources/mm.js - src/sample/share/scripting/scriptpad/src/resources/scriptpad.js - src/sample/share/scripting/scriptpad/src/scripts/README.txt - src/sample/share/scripting/scriptpad/src/scripts/browse.js - src/sample/share/scripting/scriptpad/src/scripts/insertfile.js - src/sample/share/scripting/scriptpad/src/scripts/linewrap.js - src/sample/share/scripting/scriptpad/src/scripts/mail.js - src/sample/share/scripting/scriptpad/src/scripts/memmonitor.js - src/sample/share/scripting/scriptpad/src/scripts/memory.bat - src/sample/share/scripting/scriptpad/src/scripts/memory.js - src/sample/share/scripting/scriptpad/src/scripts/memory.sh - src/sample/share/scripting/scriptpad/src/scripts/textcolor.js - src/sample/share/try-with-resources/index.html - src/sample/share/try-with-resources/src/CustomAutoCloseableSample.java - src/sample/share/try-with-resources/src/Unzip.java - src/sample/share/try-with-resources/src/ZipCat.java - src/sample/share/vm/clr-jvm/Makefile - src/sample/share/vm/clr-jvm/README.txt - src/sample/share/vm/clr-jvm/invoked.java - src/sample/share/vm/clr-jvm/invoker.cs - src/sample/share/vm/clr-jvm/jinvoker.cpp - src/sample/share/vm/clr-jvm/jinvokerExp.h - src/sample/share/vm/jvm-clr/Makefile - src/sample/share/vm/jvm-clr/README.txt - src/sample/share/vm/jvm-clr/invoked.cs - src/sample/share/vm/jvm-clr/invoker.cpp - src/sample/share/vm/jvm-clr/invoker.h - src/sample/share/vm/jvm-clr/invoker.java - src/sample/share/vm/jvm-clr/invokerExp.h - src/sample/solaris/dtrace/README.txt - src/sample/solaris/dtrace/helpers/dtrace_helper.d - src/sample/solaris/dtrace/hotspot/README.txt - src/sample/solaris/dtrace/hotspot/class_loading_stat.d - src/sample/solaris/dtrace/hotspot/gc_time_stat.d - src/sample/solaris/dtrace/hotspot/hotspot_calls_tree.d - src/sample/solaris/dtrace/hotspot/method_compile_stat.d - src/sample/solaris/dtrace/hotspot/method_invocation_stat.d - src/sample/solaris/dtrace/hotspot/method_invocation_stat_filter.d - src/sample/solaris/dtrace/hotspot/method_invocation_tree.d - src/sample/solaris/dtrace/hotspot/monitors.d - src/sample/solaris/dtrace/hotspot/object_allocation_stat.d - src/sample/solaris/dtrace/hotspot_jni/CriticalSection.d - src/sample/solaris/dtrace/hotspot_jni/CriticalSection_slow.d - src/sample/solaris/dtrace/hotspot_jni/README.txt - src/sample/solaris/dtrace/hotspot_jni/hotspot_jni_calls_stat.d - src/sample/solaris/dtrace/hotspot_jni/hotspot_jni_calls_tree.d - test/java/time/TEST.properties - test/jdk/asm/AsmSanity.java Changeset: 8891407eccc4 Author: anazarov Date: 2017-04-20 22:46 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/8891407eccc4 8178323: Add negative tests for bind services Jlink feature Reviewed-by: mchung ! test/tools/jlink/bindservices/BindServices.java ! test/tools/jlink/bindservices/SuggestProviders.java Changeset: 101f35eefb01 Author: anazarov Date: 2017-04-20 22:46 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/101f35eefb01 Merge Changeset: be9156346c78 Author: prappo Date: 2017-04-21 19:13 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/be9156346c78 8177738: Runtime.Version must be a value-based class 8148822: (spec) Regex in Runtime.Version and JEP 223 should match 8160954: (spec) Runtime.Version regex and $PRE/$OPT issues 8148877: (spec) Specify when an empty '+' is required in a version string Reviewed-by: psandoz, rriggs Contributed-by: Iris Clark , Pavel Rappo ! src/java.base/share/classes/java/lang/Runtime.java ! src/java.base/share/classes/java/lang/VersionProps.java.template ! test/java/lang/Runtime/Version/Basic.java Changeset: 4f9eb71e0b4f Author: ihse Date: 2017-04-23 21:11 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/4f9eb71e0b4f 8178316: Add JVM-MANAGEMENT-MIB.mib to jdk/src/java.management/share/specs/ Reviewed-by: erikj, mchung + src/java.management/share/specs/JVM-MANAGEMENT-MIB.mib Changeset: 3120da6408c7 Author: ihse Date: 2017-04-23 21:33 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/3120da6408c7 8179022: Add serialization spec as markdown Reviewed-by: erikj, mchung, rriggs + src/java.base/share/specs/serialization/changelog.md + src/java.base/share/specs/serialization/class.md + src/java.base/share/specs/serialization/examples.md + src/java.base/share/specs/serialization/exceptions.md + src/java.base/share/specs/serialization/images/class.gif + src/java.base/share/specs/serialization/images/version.gif + src/java.base/share/specs/serialization/index.md + src/java.base/share/specs/serialization/input.md + src/java.base/share/specs/serialization/output.md + src/java.base/share/specs/serialization/protocol.md + src/java.base/share/specs/serialization/security.md + src/java.base/share/specs/serialization/serial-arch.md + src/java.base/share/specs/serialization/version.md Changeset: 1fe3c713d756 Author: ihse Date: 2017-04-23 21:39 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/1fe3c713d756 8178037: Move information from jdi-overview.html into jdk.jdi module-info.java Reviewed-by: erikj, alanb, mchung, dholmes - src/java.management/share/classes/mgmt-overview.html - src/java.security.jgss/share/classes/jgss-overview.html - src/jdk.jdi/share/classes/jdi-overview.html ! src/jdk.jdi/share/classes/module-info.java - src/jdk.security.auth/share/classes/jaas-overview.html Changeset: 7828aedcb525 Author: amlu Date: 2017-04-24 13:43 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/7828aedcb525 8174171: Move spliterator testing of BitSet into big memory tests BitSetStreamTest Reviewed-by: mli, psandoz ! test/ProblemList.txt ! test/TEST.ROOT ! test/TEST.groups - test/java/util/BitSet/BitSetStreamTest.java + test/java/util/BitSet/stream/BitSetStreamTest.java ! test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java + test/java/util/stream/bootlib/java.base/java/util/SpliteratorOfIntDataBuilder.java Changeset: f8d6f86f7f39 Author: lana Date: 2017-04-27 16:07 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/f8d6f86f7f39 Added tag jdk-9+167 for changeset 7828aedcb525 ! .hgtags Changeset: fa4bdd8f0eed Author: chegar Date: 2017-04-25 14:46 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/fa4bdd8f0eed 8158270: MulticastSendReceiveTests.java failed with "Expected message not received" Reviewed-by: alanb ! test/java/nio/channels/DatagramChannel/NetworkConfiguration.java Changeset: 10eb52093bb8 Author: mchung Date: 2017-04-25 09:09 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/10eb52093bb8 8179025: Exclude deployment modules from FieldSetAccessibleTest.java and VerifyJimage.java Reviewed-by: alanb ! test/ProblemList.txt ! test/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java ! test/jdk/modules/etc/JdkQualifiedExportTest.java ! test/tools/jimage/VerifyJimage.java Changeset: fd5c621ad3b1 Author: ksrini Date: 2017-04-25 07:52 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/fd5c621ad3b1 8178725: provide way to link to external documentation Reviewed-by: erikj, ihse, jjg + make/src/classes/build/tools/taglet/ExtLink.java Changeset: 1c6407c57773 Author: ihse Date: 2017-04-26 14:35 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/1c6407c57773 8178042: Allow custom taglets Reviewed-by: erikj, mchung ! make/CompileTools.gmk Changeset: 7c04ab31b4d6 Author: naoto Date: 2017-04-26 09:37 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/7c04ab31b4d6 8178412: Doc link updates for i18n Reviewed-by: ksrini ! src/java.desktop/share/classes/java/awt/im/package-info.java ! src/java.desktop/share/classes/java/awt/im/spi/package-info.java ! src/java.desktop/share/classes/javax/swing/colorchooser/package-info.java ! src/java.desktop/share/classes/javax/swing/text/JTextComponent.java Changeset: bd0e423e5756 Author: jjg Date: 2017-04-26 13:38 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/bd0e423e5756 8179364: update " characters Reviewed-by: ksrini, mullan ! src/java.base/share/classes/javax/crypto/CipherInputStream.java ! src/java.base/share/classes/javax/crypto/CryptoPermission.java ! src/java.base/share/classes/javax/crypto/CryptoPolicyParser.java ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/XMLSignContext.java ! src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/XMLValidateContext.java Changeset: e28156f27e0a Author: ihse Date: 2017-05-03 08:46 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/e28156f27e0a 8179453: Add a proper SetupProcessMarkdown Reviewed-by: erikj + make/data/docs-resources/specs/resources/jdk-default.css Changeset: 0fa2b22476cd Author: ksrini Date: 2017-05-03 07:39 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/0fa2b22476cd 8179538: Update jdk.jdi to be HTML-5 friendly Reviewed-by: mchung, sspitsyn ! src/jdk.jdi/share/classes/com/sun/jdi/ClassType.java ! src/jdk.jdi/share/classes/com/sun/jdi/InterfaceType.java ! src/jdk.jdi/share/classes/com/sun/jdi/JDIPermission.java ! src/jdk.jdi/share/classes/com/sun/jdi/Location.java ! src/jdk.jdi/share/classes/com/sun/jdi/ObjectReference.java ! src/jdk.jdi/share/classes/com/sun/jdi/Type.java ! src/jdk.jdi/share/classes/com/sun/jdi/Value.java ! src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachineManager.java ! src/jdk.jdi/share/classes/com/sun/jdi/doc-files/signature.html ! src/jdk.jdi/share/classes/module-info.java Changeset: a50b619ac159 Author: lancea Date: 2017-05-03 12:58 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/a50b619ac159 8078267: Add test to verify that a module based JDBC driver via the service-provider loading mechanism Reviewed-by: joehw + test/java/sql/driverModuleTests/DriverManagerModuleTests.java + test/java/sql/modules/luckydogdriver/luckydogtennis/LuckyDogDriver.java + test/java/sql/modules/luckydogdriver/luckydogtennis/StubConnection.java + test/java/sql/modules/luckydogdriver/module-info.java + test/java/sql/modules/mystubdriver/com/luckydogtennis/StubConnection.java + test/java/sql/modules/mystubdriver/com/luckydogtennis/StubDriver.java + test/java/sql/modules/mystubdriver/module-info.java Changeset: 797880157074 Author: mli Date: 2017-05-03 21:15 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/797880157074 8179451: Confidential copyright header in openjdk Summary: Using Oracle OpenJDK copyright notices Reviewed-by: weijun Contributed-by: John Jiang ! test/sun/security/ssl/CertPathRestrictions/JSSEClient.java ! test/sun/security/ssl/CertPathRestrictions/JSSEServer.java ! test/sun/security/ssl/CertPathRestrictions/TLSRestrictions.java Changeset: 73113c19a5df Author: alanb Date: 2017-05-04 07:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/73113c19a5df 8178380: Module system implementation refresh (5/2017) Reviewed-by: mchung, alanb, sspitsyn Contributed-by: alan.bateman at oracle.com, mandy.chung at oracle.com, chris.hegarty at oracle.com ! make/mapfiles/libinstrument/mapfile-vers ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/SecurityManager.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/module/Configuration.java ! src/java.base/share/classes/java/lang/module/ModuleDescriptor.java ! src/java.base/share/classes/java/lang/module/ModuleFinder.java ! src/java.base/share/classes/java/lang/module/Resolver.java ! src/java.base/share/classes/java/nio/file/FileSystems.java ! src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java ! src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/module/Checks.java ! src/java.base/share/classes/jdk/internal/module/ClassFileAttributes.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/java.base/share/classes/jdk/internal/module/ModuleHashesBuilder.java ! src/java.base/share/classes/jdk/internal/module/ModuleInfo.java ! src/java.base/share/classes/jdk/internal/module/ModuleInfoExtender.java ! src/java.base/share/classes/jdk/internal/module/ModuleInfoWriter.java ! src/java.base/share/classes/jdk/internal/module/ModuleLoaderMap.java ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java ! src/java.base/share/classes/jdk/internal/module/ModulePath.java ! src/java.base/share/classes/jdk/internal/module/ModuleReferences.java ! src/java.base/share/classes/jdk/internal/module/ModuleResolution.java ! src/java.base/share/classes/jdk/internal/module/ModuleTarget.java ! src/java.base/share/classes/jdk/internal/module/Modules.java ! src/java.base/share/classes/jdk/internal/module/Resources.java ! src/java.base/share/classes/module-info.java ! src/java.base/share/classes/sun/launcher/LauncherHelper.java ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! src/java.base/share/native/libjli/emessages.h ! src/java.base/share/native/libjli/java.c ! src/java.instrument/share/classes/java/lang/instrument/Instrumentation.java ! src/java.instrument/share/classes/java/lang/instrument/package.html ! src/java.instrument/share/classes/module-info.java ! src/java.instrument/share/classes/sun/instrument/InstrumentationImpl.java ! src/java.instrument/share/native/libinstrument/InstrumentationImplNativeMethods.c ! src/java.instrument/share/native/libinstrument/InvocationAdapter.c ! src/java.management/share/classes/java/lang/management/ThreadInfo.java ! src/jdk.attach/aix/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/macosx/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/share/classes/sun/tools/attach/HotSpotVirtualMachine.java ! src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.attach/windows/classes/sun/tools/attach/VirtualMachineImpl.java ! src/jdk.jartool/share/classes/sun/tools/jar/Main.java ! src/jdk.jartool/share/classes/sun/tools/jar/Validator.java ! src/jdk.jartool/share/classes/sun/tools/jar/resources/jar.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/builder/DefaultImageBuilder.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ImagePluginStack.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/Platform.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/ResourcePoolManager.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/ReleaseInfoPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java ! src/jdk.jlink/share/classes/jdk/tools/jlink/plugin/ResourcePoolModule.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod.properties ! test/com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java + test/com/sun/tools/attach/AttachSelf.java ! test/com/sun/tools/attach/RunnerUtil.java ! test/com/sun/tools/attach/java.policy.allow + test/com/sun/tools/attach/modules/Agent.java + test/com/sun/tools/attach/modules/Driver.java + test/com/sun/tools/attach/modules/m/module-info.java + test/com/sun/tools/attach/modules/m/p/Main.java + test/java/lang/instrument/executableJAR/Agent.java + test/java/lang/instrument/executableJAR/AgentHelper.java + test/java/lang/instrument/executableJAR/ExecJarWithAgent.java + test/java/lang/instrument/executableJAR/Main.java ! test/java/lang/invoke/DefineClassTest.java ! test/java/lang/module/AutomaticModulesTest.java ! test/java/lang/module/ConfigurationTest.java ! test/java/lang/module/ModuleDescriptorTest.java + test/java/lang/module/customfs/ModulesInCustomFileSystem.java + test/java/lang/module/customfs/m1/module-info.java + test/java/lang/module/customfs/m1/p/Main.java + test/java/lang/module/customfs/m2/module-info.java + test/java/lang/module/customfs/m2/q/Hello.java ! test/java/nio/file/spi/SetDefaultProvider.java ! test/java/nio/file/spi/TestProvider.java + test/java/nio/file/spi/m/module-info.java + test/java/nio/file/spi/m/p/Main.java ! test/java/util/logging/TestLoggerWeakRefLeak.java ! test/lib/testlibrary/ModuleTargetHelper.java ! test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java ! test/tools/jar/mmrjar/Basic.java ! test/tools/jar/modularJar/Basic.java + test/tools/jar/multiRelease/whitebox/Driver.java + test/tools/jar/multiRelease/whitebox/jdk.jartool/sun/tools/jar/ValidatorComparatorTest.java ! test/tools/jlink/IntegrationTest.java ! test/tools/jlink/JLinkNegativeTest.java ! test/tools/jlink/plugins/SystemModuleDescriptors/SystemModulesTest.java ! test/tools/jlink/plugins/SystemModuleDescriptors/UserModuleTest.java ! test/tools/jlink/plugins/SystemModuleDescriptors/src/m1/p1/Main.java ! test/tools/jlink/plugins/SystemModuleDescriptors/src/m4/p4/Main.java ! test/tools/jmod/JmodTest.java + test/tools/launcher/modules/describe/DescribeModuleTest.java ! test/tools/launcher/modules/listmods/ListModsTest.java - test/tools/launcher/modules/listmods/src/java.transaction/javax/transaction/atomic/Atomic.java ! test/tools/launcher/modules/listmods/src/java.transaction/module-info.java ! test/tools/launcher/modules/patch/systemmodules/PatchSystemModules.java + test/tools/launcher/modules/showmoduleresolution/ShowModuleResolutionTest.java + test/tools/launcher/modules/validate/ValidateModulesTest.java ! test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java Changeset: ab86e2c522db Author: alanb Date: 2017-05-04 09:43 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/ab86e2c522db Merge ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.management/share/classes/java/lang/management/ThreadInfo.java - test/tools/launcher/modules/listmods/src/java.transaction/javax/transaction/atomic/Atomic.java Changeset: 88379fba79d3 Author: amlu Date: 2017-05-04 20:24 +0800 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/88379fba79d3 8023897: Replace/update/rename executeAndCatch in various tests to assertThrows Reviewed-by: dfuchs, prappo, psandoz, rriggs ! test/java/util/Arrays/ParallelPrefix.java ! test/java/util/Arrays/StreamAndSpliterator.java ! test/java/util/BitSet/stream/BitSetStreamTest.java ! test/java/util/Collections/EmptyNavigableMap.java ! test/java/util/Collections/EmptyNavigableSet.java ! test/java/util/Iterator/PrimitiveIteratorDefaults.java ! test/java/util/Map/Defaults.java ! test/java/util/Random/RandomTest.java ! test/java/util/Spliterator/SpliteratorCollisions.java ! test/java/util/Spliterator/SpliteratorFailFastTest.java ! test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java ! test/java/util/stream/bootlib/java.base/java/util/SpliteratorTestHelper.java Changeset: 1895211a6fe9 Author: lana Date: 2017-05-04 17:54 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/1895211a6fe9 Merge - test/tools/launcher/modules/listmods/src/java.transaction/javax/transaction/atomic/Atomic.java Changeset: adca794fc8e2 Author: lancea Date: 2017-05-04 14:07 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/adca794fc8e2 8179634: Add JDBC 4.2 to bullet list in package.html Reviewed-by: joehw ! src/java.sql/share/classes/java/sql/package.html Changeset: 9c9b8a48cd4a Author: shshahma Date: 2017-04-27 00:08 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/9c9b8a48cd4a 8177721: Improve diagnostics in sun.management.Agent#startAgent() Reviewed-by: dfuchs, dholmes, poonam ! src/jdk.management.agent/share/classes/jdk/internal/agent/Agent.java Changeset: d6b6ea1e292e Author: poonam Date: 2017-05-04 19:25 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/d6b6ea1e292e Merge Changeset: ae8ee67505d7 Author: mchung Date: 2017-05-04 15:39 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/ae8ee67505d7 8179645: java.util.jar.Packer.newPacker and newUnpacker fails when running with security manager Reviewed-by: alanb, ksrini ! src/java.base/share/classes/com/sun/java/util/jar/pack/PropMap.java + test/java/util/jar/Pack200/SecurityTest.java Changeset: 58675e237ef1 Author: serb Date: 2017-04-24 15:15 +0300 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/58675e237ef1 8178971: Uncommon formatting and typos in java.desktop module Reviewed-by: prr, ssadetsky ! src/java.desktop/share/classes/java/awt/image/AbstractMultiResolutionImage.java ! src/java.desktop/share/classes/java/awt/package-info.java ! src/java.desktop/share/classes/javax/sound/midi/MetaMessage.java ! src/java.desktop/share/classes/javax/sound/midi/Sequence.java ! src/java.desktop/share/classes/javax/sound/midi/Sequencer.java ! src/java.desktop/share/classes/javax/sound/midi/ShortMessage.java ! src/java.desktop/share/classes/javax/sound/midi/SysexMessage.java ! src/java.desktop/share/classes/javax/sound/sampled/BooleanControl.java ! src/java.desktop/share/classes/javax/sound/sampled/FloatControl.java ! src/java.desktop/share/classes/javax/sound/sampled/LineEvent.java ! src/java.desktop/share/classes/javax/swing/JComponent.java ! src/java.desktop/share/classes/module-info.java Changeset: 601479d462cb Author: ssadetsky Date: 2017-04-24 07:10 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/601479d462cb 8178905: Undecorated frame is not painted on OEL7(Gnome3). Reviewed-by: prr, serb ! src/java.desktop/unix/classes/sun/awt/X11/XContentWindow.java Changeset: 7cb3dc0422ea Author: prr Date: 2017-04-24 10:49 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/7cb3dc0422ea Merge - src/java.management/share/classes/mgmt-overview.html - src/java.security.jgss/share/classes/jgss-overview.html - src/jdk.jdi/share/classes/jdi-overview.html - src/jdk.security.auth/share/classes/jaas-overview.html - test/java/time/TEST.properties - test/java/util/BitSet/BitSetStreamTest.java Changeset: caf8ee16cea8 Author: ssadetsky Date: 2017-04-27 08:27 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/caf8ee16cea8 8179027: JComboBox too small under Windows LAF Reviewed-by: prr, alexsch ! src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java + test/javax/swing/JComboBox/WindowsComboBoxSize/WindowsComboBoxSizeTest.java Changeset: 120831a5da6f Author: ssadetsky Date: 2017-04-27 08:49 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/120831a5da6f 8140237: [TEST_BUG]Test javax/swing/plaf/nimbus/8041642/bug8041642.java fails for OEL 7 Reviewed-by: alexsch ! test/javax/swing/plaf/nimbus/8041642/bug8041642.java Changeset: 825903c4e875 Author: prr Date: 2017-04-27 14:07 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/825903c4e875 8179365: JAWT (AWT Native Interface) specification needs to be updated for JDK 9 Reviewed-by: serb, ssadetsky ! src/java.desktop/macosx/native/include/jawt_md.h ! src/java.desktop/share/classes/java/awt/package-info.java ! src/java.desktop/share/native/include/jawt.h + src/java.desktop/share/specs/AWT_Native_Interface.html Changeset: 7f76295dcd55 Author: prr Date: 2017-04-28 13:52 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/7f76295dcd55 Merge Changeset: 3d3ee4e0f595 Author: ssadetsky Date: 2017-05-01 10:24 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/3d3ee4e0f595 8160530: [TEST-BUG] Consistent failure of java/awt/dnd/MissingEventsOnModalDialog/MissingEventsOnModalDialogTest.java Reviewed-by: yan, prr, serb ! test/java/awt/dnd/MissingEventsOnModalDialog/MissingEventsOnModalDialogTest.java Changeset: 30a722cc06ec Author: prr Date: 2017-05-02 11:24 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/30a722cc06ec Merge - test/demo/jvmti/Context.java - test/demo/jvmti/DemoRun.java - test/demo/jvmti/HeapUser.java - test/demo/jvmti/Hello.java - test/demo/jvmti/compiledMethodLoad/CompiledMethodLoadTest.java - test/demo/jvmti/gctest/BigHello.java - test/demo/jvmti/gctest/Gctest.java - test/demo/jvmti/heapTracker/HeapTrackerTest.java - test/demo/jvmti/heapViewer/HeapViewerTest.java - test/demo/jvmti/minst/MinstExample.java - test/demo/jvmti/minst/MinstTest.java - test/demo/jvmti/versionCheck/FailsWhenJvmtiVersionDiffers.java - test/demo/jvmti/waiters/WaitersTest.java Changeset: 556f1721939f Author: ssadetsky Date: 2017-05-02 12:10 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/556f1721939f 8159902: OGL surfaces are not HiDPI compatible on Linux/Solaris Reviewed-by: prr, serb ! src/java.desktop/unix/classes/sun/java2d/opengl/GLXSurfaceData.java ! test/javax/swing/JInternalFrame/8069348/bug8069348.java Changeset: e07effddeebf Author: ssadetsky Date: 2017-05-02 13:26 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/e07effddeebf 8178984: Unnecessary angle brackets in the Line2D::intersectsLine() javadoc. Reviewed-by: prr, jdv ! src/java.desktop/share/classes/java/awt/geom/Line2D.java Changeset: 4ad40491266b Author: prr Date: 2017-05-05 08:34 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/4ad40491266b Merge - test/tools/launcher/modules/listmods/src/java.transaction/javax/transaction/atomic/Atomic.java Changeset: afac00be2a93 Author: shurailine Date: 2017-05-05 14:59 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/afac00be2a93 8179852: Remove references to demo tests from TEST.groups Reviewed-by: bpb ! test/TEST.groups Changeset: 207f458f39cb Author: serb Date: 2017-05-06 14:58 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/207f458f39cb 8179596: Update java.desktop to be HTML-5 friendly Reviewed-by: prr, amenkov ! src/java.desktop/share/classes/java/awt/AlphaComposite.java ! src/java.desktop/share/classes/java/awt/Graphics2D.java ! src/java.desktop/share/classes/java/awt/GridBagLayout.java ! src/java.desktop/share/classes/java/awt/GridLayout.java ! src/java.desktop/share/classes/java/awt/LinearGradientPaint.java ! src/java.desktop/share/classes/java/awt/MenuBar.java ! src/java.desktop/share/classes/java/awt/RadialGradientPaint.java ! src/java.desktop/share/classes/java/awt/Rectangle.java ! src/java.desktop/share/classes/java/awt/Shape.java ! src/java.desktop/share/classes/java/awt/dnd/DragSourceContext.java ! src/java.desktop/share/classes/java/awt/font/TextAttribute.java ! src/java.desktop/share/classes/java/awt/geom/AffineTransform.java ! src/java.desktop/share/classes/java/awt/geom/Arc2D.java ! src/java.desktop/share/classes/java/awt/geom/Path2D.java ! src/java.desktop/share/classes/java/awt/im/spi/package-info.java ! src/java.desktop/share/classes/java/awt/image/DataBufferByte.java ! src/java.desktop/share/classes/java/awt/image/DataBufferDouble.java ! src/java.desktop/share/classes/java/awt/image/DataBufferFloat.java ! src/java.desktop/share/classes/java/awt/image/DataBufferInt.java ! src/java.desktop/share/classes/java/awt/image/DataBufferShort.java ! src/java.desktop/share/classes/java/awt/image/DataBufferUShort.java ! src/java.desktop/share/classes/java/awt/image/IndexColorModel.java ! src/java.desktop/share/classes/javax/accessibility/package-info.java ! src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFDirectory.java ! src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFField.java ! src/java.desktop/share/classes/javax/print/MimeType.java ! src/java.desktop/share/classes/javax/print/attribute/standard/Finishings.java ! src/java.desktop/share/classes/javax/print/attribute/standard/MultipleDocumentHandling.java ! src/java.desktop/share/classes/javax/sound/midi/MidiMessage.java ! src/java.desktop/share/classes/javax/sound/midi/VoiceStatus.java ! src/java.desktop/share/classes/javax/sound/sampled/FloatControl.java ! src/java.desktop/share/classes/javax/sound/sampled/SourceDataLine.java ! src/java.desktop/share/classes/javax/sound/sampled/TargetDataLine.java ! src/java.desktop/share/classes/javax/swing/Action.java ! src/java.desktop/share/classes/javax/swing/BoxLayout.java ! src/java.desktop/share/classes/javax/swing/DefaultListCellRenderer.java ! src/java.desktop/share/classes/javax/swing/JLayeredPane.java ! src/java.desktop/share/classes/javax/swing/JList.java ! src/java.desktop/share/classes/javax/swing/JOptionPane.java ! src/java.desktop/share/classes/javax/swing/JRootPane.java ! src/java.desktop/share/classes/javax/swing/JScrollPane.java ! src/java.desktop/share/classes/javax/swing/JTree.java ! src/java.desktop/share/classes/javax/swing/LookAndFeel.java ! src/java.desktop/share/classes/javax/swing/SizeSequence.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/DefaultMetalTheme.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java ! src/java.desktop/share/classes/javax/swing/table/DefaultTableCellRenderer.java ! src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java ! src/java.desktop/share/classes/javax/swing/text/html/HTMLEditorKit.java ! src/java.desktop/share/classes/javax/swing/tree/DefaultTreeCellRenderer.java ! src/java.desktop/share/classes/javax/swing/undo/UndoManager.java Changeset: ca5d05dc27dd Author: xiaofeya Date: 2017-05-07 19:01 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/ca5d05dc27dd 8178912: Remove sample/chatserver/ChatTest.java and sample/mergesort/MergeSortTest.java Reviewed-by: psandoz ! test/ProblemList.txt ! test/TEST.groups - test/sample/TEST.properties - test/sample/chatserver/ChatTest.java - test/sample/mergesort/MergeSortTest.java Changeset: e81bd83cd22a Author: mchung Date: 2017-05-08 21:21 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/e81bd83cd22a 8020801: Apply the restriction of invoking MethodHandles.lookup to j.l.r.Method.invoke Reviewed-by: plevart, psandoz ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java + test/java/lang/invoke/lookup/ReflectiveLookupTest.java + test/java/lang/invoke/lookup/java.base/java/lang/LookupTest.java Changeset: d17577d4839b Author: ihse Date: 2017-05-09 12:57 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/d17577d4839b 8179889: Fix typographic errors in copyright headers Reviewed-by: erikj, dholmes ! src/java.base/macosx/native/libnet/DefaultProxySelector.c ! src/java.base/share/classes/com/sun/crypto/provider/GCTR.java ! src/java.base/share/classes/sun/security/util/ConstraintsParameters.java ! src/java.base/share/native/libjimage/endian.hpp ! src/java.base/share/native/libjimage/imageDecompressor.cpp ! src/java.base/share/native/libjimage/imageDecompressor.hpp ! src/java.base/share/native/libjimage/imageFile.hpp ! src/java.base/share/native/libjimage/inttypes.hpp ! src/java.base/share/native/libjimage/jimage.hpp ! src/java.base/share/native/libjimage/osSupport.hpp ! src/java.desktop/share/classes/sun/swing/LightweightContent.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/WindowUpdateSender.java ! test/com/apple/laf/ScreenMenu/ScreenMenuMemoryLeakTest.java ! test/com/sun/crypto/provider/Cipher/AES/TestCICOWithGCMAndAAD.java ! test/com/sun/jdi/ArrayLengthDumpTest.sh ! test/com/sun/jdi/BreakpointWithFullGC.sh ! test/com/sun/jdi/CatchAllTest.sh ! test/com/sun/jdi/CatchCaughtTest.sh ! test/com/sun/jdi/CatchPatternTest.sh ! test/com/sun/jdi/CommandCommentDelimiter.sh ! test/com/sun/jdi/DeferredStepTest.sh ! test/com/sun/jdi/DeoptimizeWalk.sh ! test/com/sun/jdi/EvalArgs.sh ! test/com/sun/jdi/GetLocalVariables3Test.sh ! test/com/sun/jdi/GetLocalVariables4Test.sh ! test/com/sun/jdi/JdbExprTest.sh ! test/com/sun/jdi/JdbLockTest.sh ! test/com/sun/jdi/MixedSuspendTest.sh ! test/com/sun/jdi/NullLocalVariable.sh ! test/com/sun/jdi/NullThreadGroupNameTest.java ! test/com/sun/jdi/RedefineChangeClassOrder.sh ! test/com/sun/jdi/RedefineException.sh ! test/com/sun/jdi/RedefineImplementor.sh ! test/com/sun/jdi/RedefineIntConstantToLong.sh ! test/com/sun/management/GarbageCollectorMXBean/LastGCInfo.java ! test/com/sun/net/httpserver/SimpleHttpServerTest.java ! test/com/sun/net/httpserver/StopNoStartTest.java ! test/com/sun/net/httpserver/bugs/B6433018.java ! test/com/sun/tools/attach/PermissionTest.java ! test/com/sun/tools/attach/ProviderTest.java ! test/com/sun/tools/attach/StartManagementAgent.java ! test/com/sun/tools/attach/TempDirTest.java ! test/java/awt/Choice/UnfocusableToplevel/UnfocusableToplevel.java ! test/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.html ! test/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.java ! test/java/awt/Dialog/NestedDialogs/Modal/NestedModalDialogTest.java ! test/java/awt/Dialog/NestedDialogs/Modeless/NestedModelessDialogTest.java ! test/java/awt/EventQueue/MainAppContext/MainAppContext.java ! test/java/awt/FileDialog/RegexpFilterTest/RegexpFilterTest.html ! test/java/awt/Focus/WindowIsFocusableAccessByThreadsTest/WindowIsFocusableAccessByThreadsTest.java ! test/java/awt/Frame/FrameResize/ShowChildWhileResizingTest.java ! test/java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java ! test/java/awt/LightweightComponent/LightweightEventTest/LightweightEventTest.java ! test/java/awt/Mixing/AWT_Mixing/GlassPaneOverlappingTestBase.java ! test/java/awt/Mixing/AWT_Mixing/SimpleOverlappingTestBase.java ! test/java/awt/Mouse/MaximizedFrameTest/MaximizedFrameTest.java ! test/java/awt/MouseInfo/JContainerMousePositionTest.java ! test/java/awt/Toolkit/AutoShutdown/EventQueuePush/EventQueuePushAutoshutdown.sh ! test/java/awt/Toolkit/ToolkitPropertyTest/bug7129133.java ! test/java/awt/Window/FindOwner/FindOwnerTest.java ! test/java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java ! test/java/awt/event/MouseEvent/DisabledComponents/DisabledComponentsTest.java ! test/java/awt/font/TextLayout/ArabicDiacriticTest.java ! test/java/awt/font/TextLayout/MissingCodePointLayoutTest.java ! test/java/io/RandomAccessFile/FileLengthTest.java ! test/java/lang/instrument/RedefineBigClass.sh ! test/java/lang/invoke/VarHandles/X-VarHandleTestMethodType.java.template ! test/java/net/httpclient/ProxyAuthTest.java ! test/java/nio/file/WatchService/DeleteInterference.java ! test/java/nio/file/attribute/BasicFileAttributeView/UnixSocketFile.java ! test/java/security/AccessController/LimitedDoPrivilegedWithNullPerms.java ! test/java/security/AccessController/LimitedDoPrivilegedWithThread.java ! test/java/time/test/java/time/temporal/TestIsoWeekFields.java ! test/java/util/ResourceBundle/getBaseBundleName/resources/PropertyBundle.properties ! test/java/util/Spliterator/SpliteratorLateBindingFailFastHelper.java ! test/java/util/logging/Logger/logrb/resources/PropertyBundle.properties ! test/java/util/logging/Logger/setResourceBundle/resources/PropertyBundle.properties ! test/javax/management/loading/LibraryLoader/LibraryLoaderTest.java ! test/javax/management/monitor/ThreadPoolAccTest.java ! test/javax/net/ssl/TLS/CipherTestUtils.java ! test/javax/net/ssl/TLS/JSSEClient.java ! test/javax/net/ssl/TLS/JSSEServer.java ! test/javax/net/ssl/TLS/TestJSSE.java ! test/javax/net/ssl/TLS/TestJSSEClientDefaultProtocol.java ! test/javax/net/ssl/TLS/TestJSSEClientProtocol.java ! test/javax/net/ssl/TLS/TestJSSENoCommonProtocols.java ! test/javax/net/ssl/TLS/TestJSSEServerProtocol.java ! test/javax/print/attribute/TestUnsupportedResolution.java ! test/javax/security/auth/Subject/Generic.java ! test/javax/security/auth/login/JAASConfigSyntaxCheck/JAASConfigSyntaxTest.java ! test/javax/security/auth/login/JAASConfigSyntaxCheck/SampleLoginModule.java ! test/javax/swing/JComboBox/6632953/bug6632953.java ! test/javax/swing/JFileChooser/4150029/bug4150029.html ! test/javax/swing/JInternalFrame/Test6325652.java ! test/javax/swing/JMenu/8072900/WrongSelectionOnMouseOver.java ! test/javax/swing/JPopupMenu/6694823/bug6694823.java ! test/javax/swing/plaf/synth/SynthButtonUI/6276188/bug6276188.java ! test/javax/swing/text/html/parser/Parser/8028616/bug8028616.java ! test/sun/awt/dnd/8024061/bug8024061.java ! test/sun/net/idn/NFS4StringPrep.java ! test/sun/security/krb5/auto/BogusKDC.java ! test/sun/security/krb5/auto/NoAddresses.java ! test/sun/security/krb5/auto/Renew.java ! test/sun/security/krb5/auto/Renewal.java ! test/sun/security/krb5/auto/SSLwithPerms.java ! test/sun/security/krb5/canonicalize/Test.java ! test/sun/security/mscapi/CastError.java ! test/sun/security/mscapi/PrngSlow.java ! test/sun/security/mscapi/PublicKeyInterop.sh ! test/sun/security/pkcs12/StoreSecretKeyTest.java ! test/sun/security/provider/SeedGenerator/SeedGeneratorChoice.java ! test/sun/security/tools/jarsigner/nameclash.sh ! test/sun/security/x509/URICertStore/SocksProxy.java ! test/tools/pack200/MultiRelease.java Changeset: b8207b069bc2 Author: ihse Date: 2017-05-09 13:19 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/b8207b069bc2 8179692: Move RMI spec to specs directory Reviewed-by: erikj ! src/java.rmi/share/classes/java/rmi/Remote.java ! src/java.rmi/share/classes/java/rmi/server/UnicastRemoteObject.java Changeset: e96547bd31cc Author: bpb Date: 2017-05-09 07:40 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/e96547bd31cc 8179662: OutputStreamWriter javadocs states that you can set the buffer size but there is no way to do that Summary: Change specification verbiage to match longstanding behavior Reviewed-by: briangoetz, chegar, lancea, rriggs ! src/java.base/share/classes/java/io/OutputStreamWriter.java Changeset: 177436a54ca1 Author: mchung Date: 2017-05-09 10:34 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/177436a54ca1 8179950: Custom system class loader using Enum.valueOf in its initialization triggers java.lang.InternalError Reviewed-by: alanb, dfuchs, lancea ! src/java.base/share/classes/jdk/internal/reflect/Reflection.java + test/java/lang/ClassLoader/CustomSystemLoader/CustomLoader.java + test/java/lang/ClassLoader/CustomSystemLoader/InitSystemLoaderTest.java Changeset: 30fc0ab51f39 Author: lana Date: 2017-05-11 16:26 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/30fc0ab51f39 Added tag jdk-9+169 for changeset 177436a54ca1 ! .hgtags Changeset: 3e92641a337d Author: psandoz Date: 2017-05-09 15:04 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/3e92641a337d 8177153: LambdaMetafactory has default constructor Reviewed-by: psandoz Contributed-by: ron.pressler at oracle.com ! src/java.base/share/classes/java/lang/invoke/LambdaMetafactory.java Changeset: 2c7616c8b7d8 Author: ihse Date: 2017-05-10 09:02 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/2c7616c8b7d8 8178278: Move Standard Algorithm Names document to specs directory Reviewed-by: erikj, wetmore, mullan ! src/java.base/share/classes/java/security/AlgorithmParameterGenerator.java ! src/java.base/share/classes/java/security/AlgorithmParameters.java ! src/java.base/share/classes/java/security/DrbgParameters.java ! src/java.base/share/classes/java/security/KeyFactory.java ! src/java.base/share/classes/java/security/KeyPairGenerator.java ! src/java.base/share/classes/java/security/KeyStore.java ! src/java.base/share/classes/java/security/MessageDigest.java ! src/java.base/share/classes/java/security/Policy.java ! src/java.base/share/classes/java/security/SecureRandom.java ! src/java.base/share/classes/java/security/SecureRandomSpi.java ! src/java.base/share/classes/java/security/Security.java ! src/java.base/share/classes/java/security/Signature.java ! src/java.base/share/classes/java/security/cert/CertPath.java ! src/java.base/share/classes/java/security/cert/CertPathBuilder.java ! src/java.base/share/classes/java/security/cert/CertPathValidator.java ! src/java.base/share/classes/java/security/cert/CertStore.java ! src/java.base/share/classes/java/security/cert/Certificate.java ! src/java.base/share/classes/java/security/cert/CertificateFactory.java ! src/java.base/share/classes/java/security/cert/CertificateFactorySpi.java ! src/java.base/share/classes/java/security/cert/package-info.java ! src/java.base/share/classes/java/security/package-info.java ! src/java.base/share/classes/java/security/spec/EncodedKeySpec.java ! src/java.base/share/classes/java/security/spec/PKCS8EncodedKeySpec.java ! src/java.base/share/classes/java/security/spec/X509EncodedKeySpec.java ! src/java.base/share/classes/javax/crypto/Cipher.java ! src/java.base/share/classes/javax/crypto/ExemptionMechanism.java ! src/java.base/share/classes/javax/crypto/KeyAgreement.java ! src/java.base/share/classes/javax/crypto/KeyGenerator.java ! src/java.base/share/classes/javax/crypto/Mac.java ! src/java.base/share/classes/javax/crypto/SecretKeyFactory.java ! src/java.base/share/classes/javax/crypto/package-info.java ! src/java.base/share/classes/javax/net/ssl/SSLContext.java ! src/java.base/share/classes/javax/net/ssl/SSLEngine.java ! src/java.base/share/classes/javax/net/ssl/SSLParameters.java ! src/java.base/share/classes/javax/net/ssl/SSLServerSocket.java ! src/java.base/share/classes/javax/net/ssl/SSLServerSocketFactory.java ! src/java.base/share/classes/javax/net/ssl/SSLSocket.java ! src/java.base/share/classes/javax/net/ssl/SSLSocketFactory.java ! src/java.base/share/classes/javax/net/ssl/TrustManagerFactory.java ! src/java.base/share/classes/javax/net/ssl/package-info.java ! src/java.base/share/classes/javax/security/auth/login/Configuration.java ! src/java.base/share/classes/javax/security/auth/login/package-info.java ! src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java Changeset: 81ae2abfb49f Author: prappo Date: 2017-05-10 12:36 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/81ae2abfb49f 8179021: Latest bugfixes to WebSocket/HPACK from the sandbox repo Reviewed-by: dfuchs ! src/java.base/share/classes/module-info.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/HttpRequestImpl.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/PlainTunnelingConnection.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/WebSocket.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/hpack/Decoder.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/hpack/HeaderTable.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/websocket/BuilderImpl.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/websocket/CooperativeHandler.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/websocket/Frame.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/websocket/FrameConsumer.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/websocket/OpeningHandshake.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/websocket/OutgoingMessage.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/websocket/Receiver.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/websocket/StatusCodes.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/websocket/Transmitter.java ! src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/websocket/WebSocketImpl.java ! test/java/net/httpclient/whitebox/Driver.java + test/java/net/httpclient/whitebox/jdk.incubator.httpclient/jdk/incubator/http/RawChannelTest.java Changeset: f12c83ece7ab Author: erikj Date: 2017-05-10 18:27 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/f12c83ece7ab 8179867: JDK9 b167: demos exist in JDK bundles Reviewed-by: ihse ! make/CompileDemos.gmk Changeset: a3af889e7f65 Author: smarks Date: 2017-05-10 15:59 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/a3af889e7f65 8180128: small errors in String javadoc Reviewed-by: lancea ! src/java.base/share/classes/java/lang/String.java Changeset: f895e36ce0e9 Author: msheppar Date: 2017-05-11 15:05 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/f895e36ce0e9 7155591: test/java/net/MulticastSocket/SetOutgoingIf.java fails on macOS Reviewed-by: chegar, bpb ! test/java/net/MulticastSocket/SetOutgoingIf.java Changeset: 4e2a2733855d Author: bpb Date: 2017-05-11 07:43 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/4e2a2733855d 8180085: (ch) java/nio/channels/SocketChannel/VectorIO.java: add debug instrumentation Summary: Add some print statements potentially useful in solving JDK-8177801. Reviewed-by: alanb ! test/java/nio/channels/SocketChannel/VectorIO.java Changeset: c17e1662bad1 Author: jjg Date: 2017-05-11 10:48 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/c17e1662bad1 8179592: Update tables in java.base to be HTML 5-friendly. Reviewed-by: mchung, darcy, martin ! src/java.base/share/classes/java/io/DataInput.java ! src/java.base/share/classes/java/io/RandomAccessFile.java ! src/java.base/share/classes/java/io/SerializablePermission.java ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/Double.java ! src/java.base/share/classes/java/lang/Float.java ! src/java.base/share/classes/java/lang/RuntimePermission.java ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/reflect/AnnotatedElement.java ! src/java.base/share/classes/java/lang/reflect/ReflectPermission.java ! src/java.base/share/classes/java/math/BigDecimal.java ! src/java.base/share/classes/java/math/RoundingMode.java ! src/java.base/share/classes/java/net/Inet4Address.java ! src/java.base/share/classes/java/net/Inet6Address.java ! src/java.base/share/classes/java/net/InetAddress.java ! src/java.base/share/classes/java/net/NetPermission.java ! src/java.base/share/classes/java/net/URI.java ! src/java.base/share/classes/java/net/URLConnection.java ! src/java.base/share/classes/java/net/URLPermission.java ! src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java ! src/java.base/share/classes/java/nio/channels/AsynchronousFileChannel.java ! src/java.base/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java ! src/java.base/share/classes/java/nio/channels/AsynchronousSocketChannel.java ! src/java.base/share/classes/java/nio/channels/DatagramChannel.java ! src/java.base/share/classes/java/nio/channels/FileChannel.java ! src/java.base/share/classes/java/nio/channels/ServerSocketChannel.java ! src/java.base/share/classes/java/nio/channels/SocketChannel.java ! src/java.base/share/classes/java/nio/charset/Charset.java ! src/java.base/share/classes/java/nio/file/FileSystem.java ! src/java.base/share/classes/java/nio/file/Files.java ! src/java.base/share/classes/java/nio/file/LinkPermission.java ! src/java.base/share/classes/java/nio/file/attribute/AclFileAttributeView.java ! src/java.base/share/classes/java/nio/file/attribute/BasicFileAttributeView.java ! src/java.base/share/classes/java/nio/file/attribute/DosFileAttributeView.java ! src/java.base/share/classes/java/nio/file/attribute/PosixFileAttributeView.java ! src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java ! src/java.base/share/classes/java/security/DrbgParameters.java ! src/java.base/share/classes/java/security/Provider.java ! src/java.base/share/classes/java/security/SecurityPermission.java ! src/java.base/share/classes/java/security/cert/X509Extension.java ! src/java.base/share/classes/java/text/DecimalFormat.java ! src/java.base/share/classes/java/text/MessageFormat.java ! src/java.base/share/classes/java/text/SimpleDateFormat.java ! src/java.base/share/classes/java/time/chrono/HijrahChronology.java ! src/java.base/share/classes/java/time/chrono/IsoEra.java ! src/java.base/share/classes/java/time/chrono/MinguoEra.java ! src/java.base/share/classes/java/time/chrono/ThaiBuddhistEra.java ! src/java.base/share/classes/java/time/format/DateTimeFormatter.java ! src/java.base/share/classes/java/time/temporal/IsoFields.java ! src/java.base/share/classes/java/time/temporal/WeekFields.java ! src/java.base/share/classes/java/util/Deque.java ! src/java.base/share/classes/java/util/Formatter.java ! src/java.base/share/classes/java/util/GregorianCalendar.java ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/java/util/Queue.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/java/util/concurrent/BlockingDeque.java ! src/java.base/share/classes/java/util/concurrent/BlockingQueue.java ! src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! src/java.base/share/classes/java/util/spi/CalendarNameProvider.java ! src/java.base/share/classes/java/util/stream/StreamOpFlag.java ! src/java.base/share/classes/javax/net/ssl/SSLPermission.java Changeset: 5724641773d5 Author: lana Date: 2017-05-11 18:10 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/5724641773d5 Merge Changeset: 93594ad5db2a Author: jjg Date: 2017-05-11 18:04 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/93594ad5db2a 8180256: Fix HTML 5 issues in java.sql and java.sql.rowset modules Reviewed-by: lancea ! src/java.sql.rowset/share/classes/javax/sql/rowset/package.html ! src/java.sql.rowset/share/classes/javax/sql/rowset/spi/package.html ! src/java.sql/share/classes/java/sql/SQLPermission.java ! src/java.sql/share/classes/java/sql/Statement.java Changeset: bb4cdc198dc0 Author: dl Date: 2017-05-11 19:34 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/bb4cdc198dc0 8179515: Class java.util.concurrent.ThreadLocalRandom fails to Initialize when using SecurityManager Summary: Break connection to security framework by using VM.getSavedProperty to read the proeprty. Reviewed-by: dholmes, martin, redestad, psandoz, mchung ! src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java Changeset: 7fb801c87a25 Author: dholmes Date: 2017-05-12 02:06 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/7fb801c87a25 Merge Changeset: 0111d77e0170 Author: michaelm Date: 2017-05-12 17:38 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/0111d77e0170 8180303: Remove technote doc link from ProxySelector/B8035158.java test Reviewed-by: chegar ! test/java/net/ProxySelector/B8035158.java Changeset: 9364a094ce56 Author: ksrini Date: 2017-05-12 09:42 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/9364a094ce56 8179631: Fix Html5 errors in java.management, jdk.management, jdk.jdi and jdk.attach Reviewed-by: mchung ! src/java.management/share/classes/java/lang/management/ManagementPermission.java ! src/java.management/share/classes/java/lang/management/ThreadInfo.java ! src/java.management/share/classes/javax/management/Descriptor.java ! src/java.management/share/classes/javax/management/MXBean.java ! src/java.management/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java ! src/java.management/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java ! src/java.management/share/classes/javax/management/modelmbean/ModelMBeanInfo.java ! src/java.management/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java ! src/java.management/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java ! src/jdk.attach/share/classes/com/sun/tools/attach/AttachPermission.java ! src/jdk.jdi/share/classes/com/sun/jdi/JDIPermission.java ! src/jdk.jdi/share/classes/com/sun/jdi/doc-files/signature.html ! src/jdk.management/share/classes/com/sun/management/DiagnosticCommandMBean.java ! src/jdk.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java ! src/jdk.management/share/classes/com/sun/management/GcInfo.java ! src/jdk.management/share/classes/com/sun/management/VMOption.java Changeset: 1beb24516aa1 Author: bchristi Date: 2017-05-12 10:11 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/1beb24516aa1 8177328: java/lang/ClassLoader/securityManager/ClassLoaderTest.java times out with -Xcomp Summary: remove unneeded automatic module tests; refactor into multiple @runs Reviewed-by: mchung ! test/java/lang/ClassLoader/securityManager/ClassLoaderTest.java Changeset: fb6138cce508 Author: ksrini Date: 2017-05-12 10:26 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/fb6138cce508 8179697: Fix Html5 errors in java.naming, java.logging, jdk.httpserver, jdk.net, jdk.sctp Reviewed-by: dfuchs ! src/java.logging/share/classes/java/util/logging/LogManager.java ! src/java.logging/share/classes/java/util/logging/SimpleFormatter.java ! src/java.naming/share/classes/javax/naming/CompositeName.java ! src/java.naming/share/classes/javax/naming/Context.java ! src/java.naming/share/classes/javax/naming/InitialContext.java ! src/java.naming/share/classes/javax/naming/directory/package.html ! src/java.naming/share/classes/javax/naming/event/package.html ! src/java.naming/share/classes/javax/naming/ldap/package.html ! src/java.naming/share/classes/javax/naming/package.html ! src/java.naming/share/classes/javax/naming/spi/ObjectFactory.java ! src/java.naming/share/classes/javax/naming/spi/package.html ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsConfigurator.java ! src/jdk.net/share/classes/jdk/net/NetworkPermission.java ! src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpChannel.java ! src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpMultiChannel.java ! src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpServerChannel.java Changeset: 65e09a42b587 Author: jjg Date: 2017-04-28 15:41 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/65e09a42b587 8179460: Fix unnecessary uses of {@docRoot} in serviceability APIs Reviewed-by: mchung ! src/jdk.jconsole/share/classes/com/sun/tools/jconsole/JConsolePlugin.java ! src/jdk.jdi/share/classes/com/sun/jdi/ThreadGroupReference.java ! src/jdk.management/share/classes/com/sun/management/DiagnosticCommandMBean.java ! src/jdk.management/share/classes/com/sun/management/package-info.java Changeset: 29e8713fdd03 Author: jjg Date: 2017-04-28 15:43 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/29e8713fdd03 Merge Changeset: e2b414957632 Author: jjg Date: 2017-05-12 10:43 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/e2b414957632 Merge ! src/jdk.management/share/classes/com/sun/management/DiagnosticCommandMBean.java - test/demo/jvmti/Context.java - test/demo/jvmti/DemoRun.java - test/demo/jvmti/HeapUser.java - test/demo/jvmti/Hello.java - test/demo/jvmti/compiledMethodLoad/CompiledMethodLoadTest.java - test/demo/jvmti/gctest/BigHello.java - test/demo/jvmti/gctest/Gctest.java - test/demo/jvmti/heapTracker/HeapTrackerTest.java - test/demo/jvmti/heapViewer/HeapViewerTest.java - test/demo/jvmti/minst/MinstExample.java - test/demo/jvmti/minst/MinstTest.java - test/demo/jvmti/versionCheck/FailsWhenJvmtiVersionDiffers.java - test/demo/jvmti/waiters/WaitersTest.java - test/sample/TEST.properties - test/sample/chatserver/ChatTest.java - test/sample/mergesort/MergeSortTest.java - test/tools/launcher/modules/listmods/src/java.transaction/javax/transaction/atomic/Atomic.java Changeset: e8ee0b0489eb Author: dfuchs Date: 2017-05-12 19:06 +0100 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/e8ee0b0489eb 8180176: Broken javadoc links in java.logging and java.naming Summary: Replace relative hrefs with {@extLink } taglets. Reviewed-by: chegar, mchung, vtewari ! src/java.logging/share/classes/java/util/logging/package.html ! src/java.naming/share/classes/javax/naming/directory/package.html ! src/java.naming/share/classes/javax/naming/event/package.html ! src/java.naming/share/classes/javax/naming/ldap/package.html ! src/java.naming/share/classes/javax/naming/package.html ! src/java.naming/share/classes/javax/naming/spi/package.html Changeset: 002321560796 Author: lancea Date: 2017-05-12 14:35 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/002321560796 8180309: Minor update to javax.sql.rowset package.html Reviewed-by: mchung ! src/java.sql.rowset/share/classes/javax/sql/rowset/package.html Changeset: a046521803b2 Author: rriggs Date: 2017-05-12 15:15 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/a046521803b2 8180082: Broken javadoc links Reviewed-by: mchung, bpb, chegar, ihse ! src/java.base/share/classes/java/io/ObjectInputStream.java ! src/java.base/share/classes/java/io/ObjectOutputStream.java ! src/java.base/share/classes/java/io/ObjectStreamClass.java ! src/java.base/share/classes/java/io/package-info.java ! src/java.base/share/classes/java/lang/CharSequence.java ! src/java.base/share/classes/java/lang/ModuleLayer.java ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/security/Key.java ! src/java.base/share/classes/java/security/KeyRep.java ! src/java.base/share/specs/serialization/output.md ! src/java.management/share/classes/java/lang/management/package.html ! src/jdk.management/share/classes/com/sun/management/package-info.java Changeset: 9fc68c99204d Author: mchung Date: 2017-05-12 13:29 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/9fc68c99204d 8180208: Provide a new docs bundle page Reviewed-by: ihse, jjg ! make/CompileModuleTools.gmk ! make/CompileTools.gmk ! make/ModuleTools.gmk + make/src/classes/build/tools/docs/GenDocsBundlePage.java + make/src/classes/build/tools/docs/docs-bundle-page.html + make/src/classes/build/tools/docs/docs-module-groups.properties Changeset: c5b0465f06d0 Author: psandoz Date: 2017-05-12 13:43 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/c5b0465f06d0 8180075: Javadoc of MethodHandles.Lookup::bind should note the difference from MethodHandle::bindTo Reviewed-by: psandoz Contributed-by: ron.pressler at oracle.com ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: 661765f8b131 Author: smarks Date: 2017-05-12 14:52 -0700 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/661765f8b131 8180137: fix broken link in java.lang.Iterable Reviewed-by: rriggs ! src/java.base/share/classes/java/lang/Iterable.java Changeset: ef9954f6896b Author: rriggs Date: 2017-05-16 09:42 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/ef9954f6896b 8180319: Update Serialization spec to omit obsolete serialver -show and change history Reviewed-by: chegar - src/java.base/share/specs/serialization/changelog.md ! src/java.base/share/specs/serialization/class.md - src/java.base/share/specs/serialization/images/class.gif ! src/java.base/share/specs/serialization/index.md ! src/java.base/share/specs/serialization/security.md ! src/java.base/share/specs/serialization/serial-arch.md Changeset: 1b3ea9753746 Author: lana Date: 2017-05-18 14:54 +0000 URL: http://hg.openjdk.java.net/shenandoah/jdk9/jdk/rev/1b3ea9753746 Added tag jdk-9+170 for changeset ef9954f6896b ! .hgtags From shade at redhat.com Mon May 22 08:36:35 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 22 May 2017 10:36:35 +0200 Subject: RFR: Trim down native GC footprint Message-ID: Hi, I have reviewed Shenandoah memory footprint with NMT, and suggest we do these things: a) Avoid instantiating jvmstat counters when sampling is disabled; b) Avoid creating matrix when UseShenandoahMatrix is disabled; c) Avoid creating partialGC task queues when policy does not enable partial gc; d) Avoid conservative heap alignment, but instead poll the actual one -- thus bitmaps are more compact for small heaps. All implemented here: http://cr.openjdk.java.net/~shade/shenandoah/footprint-1/webrev.01/ Before: - GC (reserved=17454KB, committed=17454KB) (malloc=16430KB #257) (mmap: reserved=1024KB, committed=1024KB) After: - GC (reserved=8742KB, committed=8742KB) (malloc=8230KB #231) (mmap: reserved=512KB, committed=512KB) Testing: hotspot_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Mon May 22 09:22:02 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 22 May 2017 11:22:02 +0200 Subject: RFR: Cherry-pick/synchronize JDK-8180175 and JDK-8180599" Message-ID: I've upstreamed the fast synchronizer root scanning code (i.e. scan only thread-local monitor lists). It turned out to introduce a bug where we could miss monitors on thread termination, and also moved code in different places. This change synchronizes the corresponding code with what I upstreamed. http://cr.openjdk.java.net/~rkennke/fastsync/webrev.00/ Testing: hotspot_gc_shenandoah Ok? From rkennke at redhat.com Mon May 22 09:22:52 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 22 May 2017 11:22:52 +0200 Subject: RFR: Trim down native GC footprint In-Reply-To: References: Message-ID: <1ebfcccb-f57f-ec1c-d9ee-b428b280f875@redhat.com> Am 22.05.2017 um 10:36 schrieb Aleksey Shipilev: > Hi, > > I have reviewed Shenandoah memory footprint with NMT, and suggest we do these > things: > > a) Avoid instantiating jvmstat counters when sampling is disabled; > b) Avoid creating matrix when UseShenandoahMatrix is disabled; > c) Avoid creating partialGC task queues when policy does not enable partial gc; > d) Avoid conservative heap alignment, but instead poll the actual one -- thus > bitmaps are more compact for small heaps. > > All implemented here: > http://cr.openjdk.java.net/~shade/shenandoah/footprint-1/webrev.01/ > > Before: > > - GC (reserved=17454KB, committed=17454KB) > (malloc=16430KB #257) > (mmap: reserved=1024KB, committed=1024KB) > > After: > > - GC (reserved=8742KB, committed=8742KB) > (malloc=8230KB #231) > (mmap: reserved=512KB, committed=512KB) > > Testing: hotspot_gc_shenandoah > > Thanks, > -Aleksey > Very cool! Go! Roman From ashipile at redhat.com Mon May 22 09:25:08 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Mon, 22 May 2017 09:25:08 +0000 Subject: hg: shenandoah/jdk9/hotspot: Trim down native GC footprint Message-ID: <201705220925.v4M9P83P001664@aojmv0008.oracle.com> Changeset: d64a15958946 Author: shade Date: 2017-05-22 10:56 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/d64a15958946 Trim down native GC footprint ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegionCounters.cpp From shade at redhat.com Mon May 22 09:25:27 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 22 May 2017 11:25:27 +0200 Subject: RFR: Cherry-pick/synchronize JDK-8180175 and JDK-8180599" In-Reply-To: References: Message-ID: <6833d4bb-0a58-cea6-11dc-718494c05606@redhat.com> On 05/22/2017 11:22 AM, Roman Kennke wrote: > I've upstreamed the fast synchronizer root scanning code (i.e. scan only > thread-local monitor lists). It turned out to introduce a bug where we > could miss monitors on thread termination, and also moved code in > different places. This change synchronizes the corresponding code with > what I upstreamed. > > http://cr.openjdk.java.net/~rkennke/fastsync/webrev.00/ > > > Testing: hotspot_gc_shenandoah > > Ok? OK. 8u also needs a syncup? -Aleksey From roman at kennke.org Mon May 22 09:35:58 2017 From: roman at kennke.org (roman at kennke.org) Date: Mon, 22 May 2017 09:35:58 +0000 Subject: hg: shenandoah/jdk9/hotspot: Cherry-pick/synchronize JDK-8180175 and JDK-8180599 Message-ID: <201705220935.v4M9Zwwj005183@aojmv0008.oracle.com> Changeset: eca62a5498ce Author: rkennke Date: 2017-05-22 11:32 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/eca62a5498ce Cherry-pick/synchronize JDK-8180175 and JDK-8180599 ! src/share/vm/gc/shenandoah/shenandoahRootProcessor.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/thread.cpp From shade at redhat.com Mon May 22 09:41:48 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 22 May 2017 11:41:48 +0200 Subject: RFR: mmap connection matrix Message-ID: <6c471329-f0a9-ebff-c4b2-35133d0e50b0@redhat.com> Hi, Currently the connection matrix is allocated in C heap. We can make it consistent with marking bitmaps by mmap-ing the matrix as well: http://cr.openjdk.java.net/~shade/shenandoah/matrix-mmap/webrev.01/ Testing: hotspot_gc_shenandoah -Aleksey From rkennke at redhat.com Mon May 22 10:11:05 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 22 May 2017 12:11:05 +0200 Subject: RFR: mmap connection matrix In-Reply-To: <6c471329-f0a9-ebff-c4b2-35133d0e50b0@redhat.com> References: <6c471329-f0a9-ebff-c4b2-35133d0e50b0@redhat.com> Message-ID: Am 22.05.2017 um 11:41 schrieb Aleksey Shipilev: > Hi, > > Currently the connection matrix is allocated in C heap. We can make it > consistent with marking bitmaps by mmap-ing the matrix as well: > http://cr.openjdk.java.net/~shade/shenandoah/matrix-mmap/webrev.01/ > > Testing: hotspot_gc_shenandoah > > -Aleksey > It seems ugly that the allocation of the matrix is outside the ConnectionMatrix class. ShenandoahHeap now needs knowledge about internals of ConnectionMatrix. Roman From shade at redhat.com Mon May 22 10:19:42 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 22 May 2017 12:19:42 +0200 Subject: RFR: mmap connection matrix In-Reply-To: References: <6c471329-f0a9-ebff-c4b2-35133d0e50b0@redhat.com> Message-ID: On 05/22/2017 12:11 PM, Roman Kennke wrote: > Am 22.05.2017 um 11:41 schrieb Aleksey Shipilev: >> Hi, >> >> Currently the connection matrix is allocated in C heap. We can make it >> consistent with marking bitmaps by mmap-ing the matrix as well: >> http://cr.openjdk.java.net/~shade/shenandoah/matrix-mmap/webrev.01/ >> >> Testing: hotspot_gc_shenandoah >> >> -Aleksey >> > It seems ugly that the allocation of the matrix is outside the > ConnectionMatrix class. ShenandoahHeap now needs knowledge about > internals of ConnectionMatrix. There is already a fair amount of cohesion between ShMatrix and ShHeap. This change makes ShMatrix the "view" over naked bitmap allocated in ShHeap. Consider the upside: matrix can now be allocated with proper page sizes and alignment. -Aleksey From rkennke at redhat.com Mon May 22 10:45:40 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 22 May 2017 12:45:40 +0200 Subject: RFR: mmap connection matrix In-Reply-To: References: <6c471329-f0a9-ebff-c4b2-35133d0e50b0@redhat.com> Message-ID: <4d4ba00a-896a-5bef-0d37-c57401b3e5a2@redhat.com> Am 22.05.2017 um 12:19 schrieb Aleksey Shipilev: > On 05/22/2017 12:11 PM, Roman Kennke wrote: >> Am 22.05.2017 um 11:41 schrieb Aleksey Shipilev: >>> Hi, >>> >>> Currently the connection matrix is allocated in C heap. We can make it >>> consistent with marking bitmaps by mmap-ing the matrix as well: >>> http://cr.openjdk.java.net/~shade/shenandoah/matrix-mmap/webrev.01/ >>> >>> Testing: hotspot_gc_shenandoah >>> >>> -Aleksey >>> >> It seems ugly that the allocation of the matrix is outside the >> ConnectionMatrix class. ShenandoahHeap now needs knowledge about >> internals of ConnectionMatrix. > There is already a fair amount of cohesion between ShMatrix and ShHeap. This > change makes ShMatrix the "view" over naked bitmap allocated in ShHeap. > > Consider the upside: matrix can now be allocated with proper page sizes and > alignment. Why not put that part here: + ReservedSpace matrix_bitmap(_max_regions * _max_regions, page_size); + os::commit_memory_or_exit(matrix_bitmap.base(), matrix_bitmap.size(), false, + "couldn't allocate matrix bitmap"); + MemTracker::record_virtual_memory_type(matrix_bitmap.base(), mtGC); inside ConnectionMatrix constructor? Roman From shade at redhat.com Mon May 22 11:00:58 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 22 May 2017 13:00:58 +0200 Subject: RFR: mmap connection matrix In-Reply-To: <4d4ba00a-896a-5bef-0d37-c57401b3e5a2@redhat.com> References: <6c471329-f0a9-ebff-c4b2-35133d0e50b0@redhat.com> <4d4ba00a-896a-5bef-0d37-c57401b3e5a2@redhat.com> Message-ID: <212d2ea2-e697-450c-4501-271e4b44e2d7@redhat.com> On 05/22/2017 12:45 PM, Roman Kennke wrote: > Am 22.05.2017 um 12:19 schrieb Aleksey Shipilev: >> On 05/22/2017 12:11 PM, Roman Kennke wrote: >>> Am 22.05.2017 um 11:41 schrieb Aleksey Shipilev: >>>> Hi, >>>> >>>> Currently the connection matrix is allocated in C heap. We can make it >>>> consistent with marking bitmaps by mmap-ing the matrix as well: >>>> http://cr.openjdk.java.net/~shade/shenandoah/matrix-mmap/webrev.01/ >>>> >>>> Testing: hotspot_gc_shenandoah >>>> >>>> -Aleksey >>>> >>> It seems ugly that the allocation of the matrix is outside the >>> ConnectionMatrix class. ShenandoahHeap now needs knowledge about >>> internals of ConnectionMatrix. >> There is already a fair amount of cohesion between ShMatrix and ShHeap. This >> change makes ShMatrix the "view" over naked bitmap allocated in ShHeap. >> >> Consider the upside: matrix can now be allocated with proper page sizes and >> alignment. > > Why not put that part here: > > + ReservedSpace matrix_bitmap(_max_regions * _max_regions, page_size); > + os::commit_memory_or_exit(matrix_bitmap.base(), matrix_bitmap.size(), false, > + "couldn't allocate matrix bitmap"); > + MemTracker::record_virtual_memory_type(matrix_bitmap.base(), mtGC); > > > inside ConnectionMatrix constructor? Tried that, looks worse: there are const fields we want to do in initializer lists, but the ReservedSpace block should precede ShenandoahMatrix constructor; we need to pass in page_size, etc. Seems cleaner to keep that in ShHeap. -Aleksey From roman at kennke.org Mon May 22 11:01:52 2017 From: roman at kennke.org (Roman Kennke) Date: Mon, 22 May 2017 13:01:52 +0200 Subject: RFR: mmap connection matrix In-Reply-To: <212d2ea2-e697-450c-4501-271e4b44e2d7@redhat.com> References: <6c471329-f0a9-ebff-c4b2-35133d0e50b0@redhat.com> <4d4ba00a-896a-5bef-0d37-c57401b3e5a2@redhat.com> <212d2ea2-e697-450c-4501-271e4b44e2d7@redhat.com> Message-ID: <8AF8749C-256A-4F1D-A571-1AFD2F93B9D0@kennke.org> OK then Am 22. Mai 2017 13:00:58 MESZ schrieb Aleksey Shipilev : >On 05/22/2017 12:45 PM, Roman Kennke wrote: >> Am 22.05.2017 um 12:19 schrieb Aleksey Shipilev: >>> On 05/22/2017 12:11 PM, Roman Kennke wrote: >>>> Am 22.05.2017 um 11:41 schrieb Aleksey Shipilev: >>>>> Hi, >>>>> >>>>> Currently the connection matrix is allocated in C heap. We can >make it >>>>> consistent with marking bitmaps by mmap-ing the matrix as well: >>>>> >http://cr.openjdk.java.net/~shade/shenandoah/matrix-mmap/webrev.01/ >>>>> >>>>> Testing: hotspot_gc_shenandoah >>>>> >>>>> -Aleksey >>>>> >>>> It seems ugly that the allocation of the matrix is outside the >>>> ConnectionMatrix class. ShenandoahHeap now needs knowledge about >>>> internals of ConnectionMatrix. >>> There is already a fair amount of cohesion between ShMatrix and >ShHeap. This >>> change makes ShMatrix the "view" over naked bitmap allocated in >ShHeap. >>> >>> Consider the upside: matrix can now be allocated with proper page >sizes and >>> alignment. >> >> Why not put that part here: >> >> + ReservedSpace matrix_bitmap(_max_regions * _max_regions, >page_size); >> + os::commit_memory_or_exit(matrix_bitmap.base(), >matrix_bitmap.size(), false, >> + "couldn't allocate matrix bitmap"); >> + MemTracker::record_virtual_memory_type(matrix_bitmap.base(), mtGC); >> >> >> inside ConnectionMatrix constructor? > >Tried that, looks worse: there are const fields we want to do in >initializer >lists, but the ReservedSpace block should precede ShenandoahMatrix >constructor; >we need to pass in page_size, etc. Seems cleaner to keep that in >ShHeap. > >-Aleksey -- Sent from my FairPhone From ashipile at redhat.com Mon May 22 11:04:38 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Mon, 22 May 2017 11:04:38 +0000 Subject: hg: shenandoah/jdk9/hotspot: mmap() the connection matrix. Message-ID: <201705221104.v4MB4cx9002748@aojmv0008.oracle.com> Changeset: e67b94861f4d Author: shade Date: 2017-05-22 13:02 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/e67b94861f4d mmap() the connection matrix. ! src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.cpp ! src/share/vm/gc/shenandoah/shenandoahConnectionMatrix.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp From roman at kennke.org Mon May 22 13:03:56 2017 From: roman at kennke.org (roman at kennke.org) Date: Mon, 22 May 2017 13:03:56 +0000 Subject: hg: shenandoah/jdk8u/hotspot: Cherry-pick/synchronize JDK-8180175 and JDK-8180599 Message-ID: <201705221303.v4MD3vFe014301@aojmv0008.oracle.com> Changeset: 0d7228ed1443 Author: rkennke Date: 2017-05-22 11:32 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/0d7228ed1443 Cherry-pick/synchronize JDK-8180175 and JDK-8180599 ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/thread.cpp From zgu at redhat.com Mon May 22 20:47:52 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Mon, 22 May 2017 16:47:52 -0400 Subject: RFR(XS): Align up matrix size to page boundary Message-ID: Run fastdebug: java -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=partial -version failed with: # Internal Error (/home/zgu/workspace/shenandoah-head/jdk9/hotspot/src/share/vm/memory/virtualspace.cpp:102), pid=25744, tid=25745 # assert((size & (granularity - 1)) == 0) failed: size not aligned to os::vm_allocation_granularity() # Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/matrix_size/webrev.00/ Test: fastdebug and release: hotspot_gc_shenandoah Thanks, -Zhengyu From rkennke at redhat.com Mon May 22 21:34:00 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 22 May 2017 23:34:00 +0200 Subject: RFR(XS): Align up matrix size to page boundary In-Reply-To: References: Message-ID: <8a2f8937-0f0e-3970-f01e-43e7ac149a02@redhat.com> Am 22.05.2017 um 22:47 schrieb Zhengyu Gu: > Run fastdebug: java -XX:+UseShenandoahGC > -XX:ShenandoahGCHeuristics=partial -version > > failed with: > > # Internal Error > (/home/zgu/workspace/shenandoah-head/jdk9/hotspot/src/share/vm/memory/virtualspace.cpp:102), > pid=25744, tid=25745 > # assert((size & (granularity - 1)) == 0) failed: size not aligned to > os::vm_allocation_granularity() > # > > > Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/matrix_size/webrev.00/ > > Test: > fastdebug and release: hotspot_gc_shenandoah Looks good to me! Roman From zgu at redhat.com Mon May 22 21:44:28 2017 From: zgu at redhat.com (zgu at redhat.com) Date: Mon, 22 May 2017 21:44:28 +0000 Subject: hg: shenandoah/jdk9/hotspot: Align matrix size up to page boundary Message-ID: <201705222144.v4MLiSef019617@aojmv0008.oracle.com> Changeset: 9d9147985937 Author: zgu Date: 2017-05-22 16:20 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/9d9147985937 Align matrix size up to page boundary ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp From shade at redhat.com Tue May 23 06:39:06 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 23 May 2017 08:39:06 +0200 Subject: RFR: "F: Code Cache Roots" is missing from gc+stats Message-ID: Hi, This is because we miss one legit ShenandoahRootProcessor use: $ hg diff diff -r 9d9147985937 src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp --- a/src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp Mon May 22 16:20:15 2017 -0400 +++ b/src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp Tue May 23 08:36:19 2017 +0200 @@ -614,7 +614,7 @@ { COMPILER2_PRESENT(DerivedPointerTable::clear()); - ShenandoahRootProcessor rp(heap, nworkers); + ShenandoahRootProcessor rp(heap, nworkers, ShenandoahCollectorPolicy::full_gc_roots); ShenandoahAdjustRootPointersTask task(&rp); workers->run_task(&task); COMPILER2_PRESENT(DerivedPointerTable::update_pointers()); Thanks, -Aleksey From rkennke at redhat.com Tue May 23 08:11:37 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 23 May 2017 10:11:37 +0200 Subject: RFR: "F: Code Cache Roots" is missing from gc+stats In-Reply-To: References: Message-ID: Am 23.05.2017 um 08:39 schrieb Aleksey Shipilev: > Hi, > > This is because we miss one legit ShenandoahRootProcessor use: > > $ hg diff > diff -r 9d9147985937 src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp > --- a/src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp Mon May 22 16:20:15 > 2017 -0400 > +++ b/src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp Tue May 23 08:36:19 > 2017 +0200 > @@ -614,7 +614,7 @@ > { > COMPILER2_PRESENT(DerivedPointerTable::clear()); > > - ShenandoahRootProcessor rp(heap, nworkers); > + ShenandoahRootProcessor rp(heap, nworkers, > ShenandoahCollectorPolicy::full_gc_roots); > ShenandoahAdjustRootPointersTask task(&rp); > workers->run_task(&task); > COMPILER2_PRESENT(DerivedPointerTable::update_pointers()); > > > Thanks, > -Aleksey > Yup From shade at redhat.com Tue May 23 09:06:32 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 23 May 2017 11:06:32 +0200 Subject: RFR: Lazy parallel code cache iterator Message-ID: <408e973c-afa4-f032-3bcc-9eea37ff8b57@redhat.com> Hi, The last time we improved code cache iterator with more parallelism, and it improved the pause times. However, we had to do the eager preparation stage in its constructor, which means we scan code cache during ShenandoahRP construction, even if we skip code cache iteration later! Which means we have redundant work during Init Mark and Final Update-Refs pauses. The fix is to redo the iterator to be lazy again, while maintaining parallelism: http://cr.openjdk.java.net/~shade/shenandoah/codecache-lazyparallel/webrev.01/ Before/after on SPECjbb: http://cr.openjdk.java.net/~shade/shenandoah/codecache-lazyparallel/baseline.log http://cr.openjdk.java.net/~shade/shenandoah/codecache-lazyparallel/patched.log Saves 3..8 ms per pause! Testing: hotspot_gc_shenandoah, jcstress/fastdebug/aggressive -Aleksey From rkennke at redhat.com Tue May 23 09:52:57 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 23 May 2017 11:52:57 +0200 Subject: RFR: Lazy parallel code cache iterator In-Reply-To: <408e973c-afa4-f032-3bcc-9eea37ff8b57@redhat.com> References: <408e973c-afa4-f032-3bcc-9eea37ff8b57@redhat.com> Message-ID: <6796db57-c3df-c537-9f34-622247c0b2f7@redhat.com> Am 23.05.2017 um 11:06 schrieb Aleksey Shipilev: > Hi, > > The last time we improved code cache iterator with more parallelism, and it > improved the pause times. However, we had to do the eager preparation stage in > its constructor, which means we scan code cache during ShenandoahRP > construction, even if we skip code cache iteration later! Which means we have > redundant work during Init Mark and Final Update-Refs pauses. > > The fix is to redo the iterator to be lazy again, while maintaining parallelism: > http://cr.openjdk.java.net/~shade/shenandoah/codecache-lazyparallel/webrev.01/ > > Before/after on SPECjbb: > http://cr.openjdk.java.net/~shade/shenandoah/codecache-lazyparallel/baseline.log > http://cr.openjdk.java.net/~shade/shenandoah/codecache-lazyparallel/patched.log > > Saves 3..8 ms per pause! > > Testing: hotspot_gc_shenandoah, jcstress/fastdebug/aggressive > > -Aleksey > Very cool! Go! Roman From ashipile at redhat.com Tue May 23 09:56:13 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 23 May 2017 09:56:13 +0000 Subject: hg: shenandoah/jdk9/hotspot: Lazy parallel code cache iterator Message-ID: <201705230956.v4N9uERB010748@aojmv0008.oracle.com> Changeset: 1fe6e704d2a6 Author: shade Date: 2017-05-23 11:46 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/1fe6e704d2a6 Lazy parallel code cache iterator ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp From shade at redhat.com Tue May 23 10:05:51 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 23 May 2017 12:05:51 +0200 Subject: RFR: "F: Code Cache Roots" is missing from gc+stats In-Reply-To: References: Message-ID: On 05/23/2017 10:11 AM, Roman Kennke wrote: > Am 23.05.2017 um 08:39 schrieb Aleksey Shipilev: >> Hi, >> >> This is because we miss one legit ShenandoahRootProcessor use: >> >> $ hg diff >> diff -r 9d9147985937 src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp >> --- a/src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp Mon May 22 16:20:15 >> 2017 -0400 >> +++ b/src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp Tue May 23 08:36:19 >> 2017 +0200 >> @@ -614,7 +614,7 @@ >> { >> COMPILER2_PRESENT(DerivedPointerTable::clear()); >> >> - ShenandoahRootProcessor rp(heap, nworkers); >> + ShenandoahRootProcessor rp(heap, nworkers, >> ShenandoahCollectorPolicy::full_gc_roots); >> ShenandoahAdjustRootPointersTask task(&rp); >> workers->run_task(&task); >> COMPILER2_PRESENT(DerivedPointerTable::update_pointers()); >> >> >> Thanks, >> -Aleksey >> > Yup Actually, let's make it more comprehensive by dropping the default argument, and requiring to pass phase explicitly: http://cr.openjdk.java.net/~shade/shenandoah/stats-rp-all/webrev.01/ -Aleksey From rkennke at redhat.com Tue May 23 10:07:38 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 23 May 2017 12:07:38 +0200 Subject: RFR: "F: Code Cache Roots" is missing from gc+stats In-Reply-To: References: Message-ID: <4a863d22-25bb-df56-2dac-db9d9f95394b@redhat.com> Am 23.05.2017 um 12:05 schrieb Aleksey Shipilev: > On 05/23/2017 10:11 AM, Roman Kennke wrote: >> Am 23.05.2017 um 08:39 schrieb Aleksey Shipilev: >>> Hi, >>> >>> This is because we miss one legit ShenandoahRootProcessor use: >>> >>> $ hg diff >>> diff -r 9d9147985937 src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp >>> --- a/src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp Mon May 22 16:20:15 >>> 2017 -0400 >>> +++ b/src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp Tue May 23 08:36:19 >>> 2017 +0200 >>> @@ -614,7 +614,7 @@ >>> { >>> COMPILER2_PRESENT(DerivedPointerTable::clear()); >>> >>> - ShenandoahRootProcessor rp(heap, nworkers); >>> + ShenandoahRootProcessor rp(heap, nworkers, >>> ShenandoahCollectorPolicy::full_gc_roots); >>> ShenandoahAdjustRootPointersTask task(&rp); >>> workers->run_task(&task); >>> COMPILER2_PRESENT(DerivedPointerTable::update_pointers()); >>> >>> >>> Thanks, >>> -Aleksey >>> >> Yup > Actually, let's make it more comprehensive by dropping the default argument, and > requiring to pass phase explicitly: > http://cr.openjdk.java.net/~shade/shenandoah/stats-rp-all/webrev.01/ > > -Aleksey > > Even better! Roman From ashipile at redhat.com Tue May 23 10:15:19 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 23 May 2017 10:15:19 +0000 Subject: hg: shenandoah/jdk9/hotspot: "F: Code Cache Roots" is missing from gc+stats Message-ID: <201705231015.v4NAFJw7015916@aojmv0008.oracle.com> Changeset: e23e77880b50 Author: shade Date: 2017-05-23 12:08 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/e23e77880b50 "F: Code Cache Roots" is missing from gc+stats ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp ! src/share/vm/gc/shenandoah/shenandoahRootProcessor.hpp From ashipile at redhat.com Tue May 23 11:12:39 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 23 May 2017 11:12:39 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] "F: Code Cache Roots" is missing from gc+stats Message-ID: <201705231112.v4NBCd1T002857@aojmv0008.oracle.com> Changeset: 46d4ba7e5390 Author: shade Date: 2017-05-23 13:11 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/46d4ba7e5390 [backport] "F: Code Cache Roots" is missing from gc+stats ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahRootProcessor.hpp From shade at redhat.com Tue May 23 12:18:30 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 23 May 2017 14:18:30 +0200 Subject: RFR 8u: Cherry-pick 8140584: nmethod::oops_do_marking_epilogue always runs verification code Message-ID: <2a8035f6-3934-fac2-a9f5-5244e67eaceb@redhat.com> Hi, shenandoah-8u runs into the serious performance problem with code cache scan -- we are wasting several milliseconds per pause -- and it seems to be fixed in 8u152: https://bugs.openjdk.java.net/browse/JDK-8140584 I propose we cherry-pick it to our shenandoah-8u repo, while we wait for it to arrive from upstream. Andrew, any objections? Thanks, -Aleksey From rkennke at redhat.com Tue May 23 12:19:58 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 23 May 2017 14:19:58 +0200 Subject: RFR 8u: Cherry-pick 8140584: nmethod::oops_do_marking_epilogue always runs verification code In-Reply-To: <2a8035f6-3934-fac2-a9f5-5244e67eaceb@redhat.com> References: <2a8035f6-3934-fac2-a9f5-5244e67eaceb@redhat.com> Message-ID: Am 23.05.2017 um 14:18 schrieb Aleksey Shipilev: > Hi, > > shenandoah-8u runs into the serious performance problem with code cache scan -- > we are wasting several milliseconds per pause -- and it seems to be fixed in 8u152: > https://bugs.openjdk.java.net/browse/JDK-8140584 > > I propose we cherry-pick it to our shenandoah-8u repo, while we wait for it to > arrive from upstream. > > Andrew, any objections? > > Thanks, > -Aleksey > Yes! From aph at redhat.com Tue May 23 13:41:36 2017 From: aph at redhat.com (Andrew Haley) Date: Tue, 23 May 2017 14:41:36 +0100 Subject: RFR 8u: Cherry-pick 8140584: nmethod::oops_do_marking_epilogue always runs verification code In-Reply-To: <2a8035f6-3934-fac2-a9f5-5244e67eaceb@redhat.com> References: <2a8035f6-3934-fac2-a9f5-5244e67eaceb@redhat.com> Message-ID: <04da6dce-2742-a23a-d850-04e882334110@redhat.com> On 23/05/17 13:18, Aleksey Shipilev wrote: > Shenandoah-8u runs into the serious performance problem with code > cache scan -- we are wasting several milliseconds per pause -- and > it seems to be fixed in 8u152: > https://bugs.openjdk.java.net/browse/JDK-8140584 > > I propose we cherry-pick it to our shenandoah-8u repo, while we wait for it to > arrive from upstream. > > Andrew, any objections? We have to think about the criteria we use to decide such things. It seems to me that this is a very low-risk patch, but on the other hand the gains are slight. On the gripping hand, if we allow in many small such patches we have a significant divergence from upstream. Each patch on its own is no big deal, but they all add up. So, I'm on the horns of a dilemma. (Ouch!) Andrew. From shade at redhat.com Tue May 23 13:45:55 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 23 May 2017 15:45:55 +0200 Subject: RFR 8u: Cherry-pick 8140584: nmethod::oops_do_marking_epilogue always runs verification code In-Reply-To: <04da6dce-2742-a23a-d850-04e882334110@redhat.com> References: <2a8035f6-3934-fac2-a9f5-5244e67eaceb@redhat.com> <04da6dce-2742-a23a-d850-04e882334110@redhat.com> Message-ID: <7bf4d1cd-b60a-b9ba-e54e-f777835fdb65@redhat.com> On 05/23/2017 03:41 PM, Andrew Haley wrote: > On 23/05/17 13:18, Aleksey Shipilev wrote: > >> Shenandoah-8u runs into the serious performance problem with code >> cache scan -- we are wasting several milliseconds per pause -- and >> it seems to be fixed in 8u152: >> https://bugs.openjdk.java.net/browse/JDK-8140584 >> >> I propose we cherry-pick it to our shenandoah-8u repo, while we wait for it to >> arrive from upstream. >> >> Andrew, any objections? > > We have to think about the criteria we use to decide such things. It > seems to me that this is a very low-risk patch, but on the other hand > the gains are slight. The gains are slight for STW GC, where 5ms is a tiny drop in a large pause. For Shenandoah, it is more than a half of the pause :) > On the gripping hand, if we allow in many small > such patches we have a significant divergence from upstream. Each > patch on its own is no big deal, but they all add up. > > So, I'm on the horns of a dilemma. (Ouch!) Yeah. In this particular case, we are not diverging from upstream, for some notion of "upstream". Since we are planning to pull 8b152 once released anyway, what we do here is fast-forwarding to the future today. I guess simplicity of the patch + already being in upstream is enough to qualify for cherry-pick? -Aleksey From aph at redhat.com Tue May 23 14:00:04 2017 From: aph at redhat.com (Andrew Haley) Date: Tue, 23 May 2017 15:00:04 +0100 Subject: RFR 8u: Cherry-pick 8140584: nmethod::oops_do_marking_epilogue always runs verification code In-Reply-To: <7bf4d1cd-b60a-b9ba-e54e-f777835fdb65@redhat.com> References: <2a8035f6-3934-fac2-a9f5-5244e67eaceb@redhat.com> <04da6dce-2742-a23a-d850-04e882334110@redhat.com> <7bf4d1cd-b60a-b9ba-e54e-f777835fdb65@redhat.com> Message-ID: On 23/05/17 14:45, Aleksey Shipilev wrote: > Yeah. In this particular case, we are not diverging from upstream, for some > notion of "upstream". Since we are planning to pull 8b152 once released anyway, > what we do here is fast-forwarding to the future today. I guess simplicity of > the patch + already being in upstream is enough to qualify for cherry-pick? Yes, I think this one is OK. But we must default to "First, do no harm." It would be awful if users in production who neither know nor care about Shenandoah got hit by Shenandoah-related changes. Andrew. From ashipile at redhat.com Tue May 23 14:17:55 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 23 May 2017 14:17:55 +0000 Subject: hg: shenandoah/jdk8u/hotspot: Cherry-pick JDK-8140584: nmethod::oops_do_marking_epilogue always runs verification code Message-ID: <201705231417.v4NEHtmR009404@aojmv0008.oracle.com> Changeset: 87d0934dcb67 Author: shade Date: 2017-05-23 16:15 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/87d0934dcb67 Cherry-pick JDK-8140584: nmethod::oops_do_marking_epilogue always runs verification code ! src/cpu/ppc/vm/relocInfo_ppc.cpp ! src/cpu/sparc/vm/nativeInst_sparc.cpp ! src/cpu/sparc/vm/relocInfo_sparc.cpp ! src/cpu/x86/vm/relocInfo_x86.cpp ! src/share/vm/code/nmethod.cpp From rkennke at redhat.com Tue May 23 17:28:47 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 23 May 2017 19:28:47 +0200 Subject: RFR: Parallel safepoint cleaning Message-ID: <7a8dff14-13a8-43c0-69d6-414118cd30b1@redhat.com> I realized that my former attempt to parallelize safepoint cleaning (or rather, idle monitor deflation) was a complete fail (have you seen a workers->run_task() call anywhere?). Also, I realized that we can't (ab)use GC worker threads either: SP cleaning can kick in in the middle of conc marking/evac/uprefs, and we can't use GC workers when they're working (and no, we don't stop our GC workers at non-GC safepoints, as opposed to all other GCs). So I completely rewrote the whole thing. I gave SafepointSynchronize its own worker pool with default size 8 (just a guess). I added a flag -XX:+ParallelSPCleanup to enable parallel SP cleaning and -XX:ParallelSPCleanupThreads=X to specify number of threads. I also added some hooks to let the GC tell the safepoint machinery that it would like to take over monitor deflation and/or nmethod marking. This makes sense because both of those cleanup passes iterate+scan over the thread stacks, and if the GC is scanning it anyway, we can just as well piggy-back on it and benefit from better caching, parallelization, etc. This can be enabled separately by -XX:+ShenandoahSPCleanup (and can be mixed with or without parallel cleanup). Piggybacking deflation and nmethod-marking should always be benefitial or at least not adversarial. Parallelizing cleanup work in general is only benefitial with large numbers of threads and/or excessive inflated monitors. I have seen quite some overhead to spin up the parallel fluff, and need to investigate it a little more (watch out for changes in the init-UR pause, this is basically a no-op and bound by SP cleanup work). http://cr.openjdk.java.net/~rkennke/par-sp-cleaning/webrev.01/ I intend to upstream the non-Shenandoah parts soon. Testing: hotspot_gc_shenandoah, specjvm Ok? Roman From ashipile at redhat.com Tue May 23 17:30:53 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 23 May 2017 17:30:53 +0000 Subject: hg: shenandoah/jdk8u/hotspot: [backport] Lazy parallel code cache iterator Message-ID: <201705231730.v4NHUrmk019541@aojmv0008.oracle.com> Changeset: 739e71e3708f Author: shade Date: 2017-05-23 16:32 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/739e71e3708f [backport] Lazy parallel code cache iterator ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp From shade at redhat.com Tue May 23 17:49:01 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 23 May 2017 19:49:01 +0200 Subject: RFR: Parallel safepoint cleaning In-Reply-To: <7a8dff14-13a8-43c0-69d6-414118cd30b1@redhat.com> References: <7a8dff14-13a8-43c0-69d6-414118cd30b1@redhat.com> Message-ID: <31034bd5-b2e5-fac3-0278-092db618ca6a@redhat.com> On 05/23/2017 07:28 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/par-sp-cleaning/webrev.01/ Cursory review: s/ShenandoahSPCleanup/ShenandoahMergeSafepointCleanup/g ? s/ParallelSPCleanup/ParallelSafepointCleanup/g ? vm_operations_shenandoah.hpp: *) Methods can reside in VM_ShenandoahOperation super-class, no? synchronizer.cpp: *) Better name: deflate_tl? 1689 void ObjectSynchronizer::deflate_idle_monitors(bool deflate_tl) { Interesting how the parallel safepoint cleanup would get accepted upstream. -Aleksey From rkennke at redhat.com Tue May 23 17:52:44 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 23 May 2017 19:52:44 +0200 Subject: RFR: Parallel safepoint cleaning In-Reply-To: <31034bd5-b2e5-fac3-0278-092db618ca6a@redhat.com> References: <7a8dff14-13a8-43c0-69d6-414118cd30b1@redhat.com> <31034bd5-b2e5-fac3-0278-092db618ca6a@redhat.com> Message-ID: <1038cf77-3d32-bdff-9ef4-7f09f1fdae93@redhat.com> Am 23.05.2017 um 19:49 schrieb Aleksey Shipilev: > On 05/23/2017 07:28 PM, Roman Kennke wrote: >> http://cr.openjdk.java.net/~rkennke/par-sp-cleaning/webrev.01/ > Cursory review: > > s/ShenandoahSPCleanup/ShenandoahMergeSafepointCleanup/g ? > s/ParallelSPCleanup/ParallelSafepointCleanup/g ? Ok, those are better names ;-) > vm_operations_shenandoah.hpp: > *) Methods can reside in VM_ShenandoahOperation super-class, no? Not really. Some VM_Ops (e.g. init-ur) cannot take over sp cleanup. I could do it in superclass, and only override those who cannot to return false though. > synchronizer.cpp: > *) Better name: deflate_tl? > 1689 void ObjectSynchronizer::deflate_idle_monitors(bool deflate_tl) { deflate_thread_local_monitors ? I also found a bug: # guarantee(result == NULL || !result->is_zombie() || result->is_locked_by_vm() || is_error_reported()) failed: unsafe access to zombie method This seems to happen only with -XX:+ParallelSPCleanup -XX:-ShenandoahSPCleanup (i.e. parallel processing enabled, but shenandoah takeover disabled). Curious. Will debug this and send another webrev when done. Roman From rkennke at redhat.com Tue May 23 20:50:27 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 23 May 2017 22:50:27 +0200 Subject: RFR: Parallel safepoint cleaning In-Reply-To: <31034bd5-b2e5-fac3-0278-092db618ca6a@redhat.com> References: <7a8dff14-13a8-43c0-69d6-414118cd30b1@redhat.com> <31034bd5-b2e5-fac3-0278-092db618ca6a@redhat.com> Message-ID: Am 23.05.2017 um 19:49 schrieb Aleksey Shipilev: > On 05/23/2017 07:28 PM, Roman Kennke wrote: >> http://cr.openjdk.java.net/~rkennke/par-sp-cleaning/webrev.01/ > Cursory review: > > s/ShenandoahSPCleanup/ShenandoahMergeSafepointCleanup/g ? > s/ParallelSPCleanup/ParallelSafepointCleanup/g ? > > vm_operations_shenandoah.hpp: > *) Methods can reside in VM_ShenandoahOperation super-class, no? > > synchronizer.cpp: > *) Better name: deflate_tl? > 1689 void ObjectSynchronizer::deflate_idle_monitors(bool deflate_tl) { I implemented all your suggested changes. I also found the cause for the crash: we need to initialize nmethod marking once, and not once-per-worker thread, otherwise we corrupt internal structures. I also found the cause for the massive slowdown when running parallelized: we need to call needs_rehashing() on StringTable and SymbolTable before rehashing, otherwise we'd be rehashing them all the time. This takes ~10ms here and fully explains the slowdown. Note: if we want to improve safepoint cleanup even more, we might want to look into those two cleanup passes and see if we can fold them into GC processing too. http://cr.openjdk.java.net/~rkennke/par-sp-cleaning/webrev.02/ Performance doesn't suffer in my measurements with +parallel_safepoint_cleanup and/or +shenandoah_safepoint_cleanup, I even see a slight but consistent improvement (but then again, on my miniscule workloads it doesn't weight much...) ok now? From shade at redhat.com Wed May 24 07:19:27 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 24 May 2017 09:19:27 +0200 Subject: RFR: Parallel safepoint cleaning In-Reply-To: References: <7a8dff14-13a8-43c0-69d6-414118cd30b1@redhat.com> <31034bd5-b2e5-fac3-0278-092db618ca6a@redhat.com> Message-ID: <5c5cd27c-4ff1-96f3-5159-55d5bef35a21@redhat.com> On 05/23/2017 10:50 PM, Roman Kennke wrote: > http://cr.openjdk.java.net/~rkennke/par-sp-cleaning/webrev.02/ Leftover: 594 double start = os::elapsedTime(); ... 600 double end = os::elapsedTime(); 601 tty->print_cr("vmthread took: %f ms for symbol table rehash", (end - start) * 1000.0); Empty condition? 4397 VM_Operation* op = VMThread::vm_operation(); 4398 if (op != NULL && op->marks_nmethods()) { 4399 } Otherwise seems fine. -Aleksey From roman at kennke.org Wed May 24 08:24:33 2017 From: roman at kennke.org (roman at kennke.org) Date: Wed, 24 May 2017 08:24:33 +0000 Subject: hg: shenandoah/jdk9/hotspot: Parallel safepoint cleaning Message-ID: <201705240824.v4O8OXid005740@aojmv0008.oracle.com> Changeset: 1c4038f4603f Author: rkennke Date: 2017-05-24 10:22 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/1c4038f4603f Parallel safepoint cleaning ! src/share/vm/gc/shared/collectedHeap.cpp ! src/share/vm/gc/shared/collectedHeap.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc/shenandoah/shenandoahRootProcessor.cpp ! src/share/vm/gc/shenandoah/shenandoahRootProcessor.hpp ! src/share/vm/gc/shenandoah/shenandoah_globals.hpp ! src/share/vm/gc/shenandoah/vm_operations_shenandoah.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/safepoint.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/sweeper.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vm_operations.hpp From shade at redhat.com Wed May 24 08:33:44 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 24 May 2017 10:33:44 +0200 Subject: RFR: "Allocation failure" cause should not be overwritten Message-ID: http://cr.openjdk.java.net/~shade/shenandoah/fullgc-alloc-overwrite/webrev.02/ This matters because allocation failure may coincide with System.gc() call, that can be disabled with -XX:+DisableExplicitGC. Which makes our full GC ignored, even if we have to do it due to allocation failure. -Aleksey From rkennke at redhat.com Wed May 24 08:37:26 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 24 May 2017 10:37:26 +0200 Subject: RFR: "Allocation failure" cause should not be overwritten In-Reply-To: References: Message-ID: Am 24.05.2017 um 10:33 schrieb Aleksey Shipilev: > http://cr.openjdk.java.net/~shade/shenandoah/fullgc-alloc-overwrite/webrev.02/ > > This matters because allocation failure may coincide with System.gc() call, that > can be disabled with -XX:+DisableExplicitGC. Which makes our full GC ignored, > even if we have to do it due to allocation failure. > > -Aleksey > Ok From ashipile at redhat.com Wed May 24 08:44:20 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 24 May 2017 08:44:20 +0000 Subject: hg: shenandoah/jdk9/hotspot: "Allocation failure" cause should not be overwritten Message-ID: <201705240844.v4O8iKR8011248@aojmv0008.oracle.com> Changeset: b67661c7315a Author: shade Date: 2017-05-24 10:41 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/b67661c7315a "Allocation failure" cause should not be overwritten ! src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp From cflood at redhat.com Wed May 24 13:32:28 2017 From: cflood at redhat.com (Christine Flood) Date: Wed, 24 May 2017 09:32:28 -0400 Subject: RFR: More Partial Heuristics Message-ID: http://cr.openjdk.java.net/~chf/heuristics/webrev.00/ This patch implements LRU and generational partial heuristics. We save the timestamp at the first and last allocations in a region. When performing generational heuristics we only chose regions which had their first allocation after the last gc cycle. When performing LRU heuristics we only chose regions which had their last allocation before the last gc cycle. This prevents us from ever having doubly forwarded objects when partial and major concurrent collections interleave. Added two new global flags product_rw(uintx, ShenandoahGenerationalYoungGenPercentage, 20, \ "Percentage of the heap designated as young") \ range(0,100) \ \ product_rw(uintx, ShenandoahLRUOldGenPercentage, 20, \ "Percentage of the heap designated as old") \ range(0,100) \ Which allow the user to specify how much of the heap they would like to consider young or old for that particular heuristic. This patch forbids the reuse of partially filled heap regions in its current form. I tested LRU, generational, partial, and default heuristics on several benchmarks. Christine From rkennke at redhat.com Wed May 24 15:36:25 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 24 May 2017 17:36:25 +0200 Subject: RFR: More Partial Heuristics In-Reply-To: References: Message-ID: <353dc46c-89e7-f73a-ef1b-efa615db1108@redhat.com> Am 24.05.2017 um 15:32 schrieb Christine Flood: > http://cr.openjdk.java.net/~chf/heuristics/webrev.00/ > > > This patch implements LRU and generational partial heuristics. > > We save the timestamp at the first and last allocations in a region. > > When performing generational heuristics we only chose regions which had > their first allocation after the last gc cycle. When performing LRU > heuristics we only chose regions which had their last allocation before the > last gc cycle. This prevents us from ever having doubly forwarded objects > when partial and major concurrent collections interleave. > > Added two new global flags > > product_rw(uintx, ShenandoahGenerationalYoungGenPercentage, 20, \ > "Percentage of the heap designated as young") > \ > range(0,100) > \ > > \ > product_rw(uintx, ShenandoahLRUOldGenPercentage, 20, > \ > "Percentage of the heap designated as old") > \ > range(0,100) > \ > > Which allow the user to specify how much of the heap they would like to > consider young or old for that particular heuristic. > > This patch forbids the reuse of partially filled heap regions in its > current form. > > I tested LRU, generational, partial, and default heuristics on several > benchmarks. - I see no reason to explicitely pass in the matrix to heuristics, only for one or a few that needs them. You can always get it through ShenandoahHeap::heap()->connection_matrix() if you need it. - _timestamp_at_last_gc_start,_timestamp_at_last_gc_end, _used_at_last_gc better go into heuristics or policy? We already have hooks there that get called on gc start/end, phase start/end etc. -what makes you think that? // I think we aren't resetting top properly - why are you setting the time stamps of regions in the iterator? is that sane? Roman From shade at redhat.com Wed May 24 16:44:21 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 24 May 2017 18:44:21 +0200 Subject: RFR: More Partial Heuristics In-Reply-To: References: Message-ID: On 05/24/2017 03:32 PM, Christine Flood wrote: > http://cr.openjdk.java.net/~chf/heuristics/webrev.00/ General: *) I see new heuristics code does not make use of ShMatrix::enumerate_connected_to, as ShPartialGC::prepare did, which might cost 5-10 ms per cycle, as we measured during ShPartialGC::prepare optimization. It seems that the block from partial can be transplanted directly into new code? *) ShenandoahCollectorPolicy already has record_cycle_{start|end} -- are those the same as the new timestamp_at_last_gc_{start_end} methods? *) Re: 254 // Is this ever called, or do we always do deferred recycles when 255 // using the matrix? 256 _heap->connection_matrix()->clear_region(region_number()); ...we don't call recycle() now, but it should be safe to call without deferred recycling, so matrix is cleaned on that path too Code quality: *) Replace: ShenandoahHeap* heap = (ShenandoahHeap*)Universe::heap(); ...with: ShenandoahHeap* heap = ShenandoahHeap::heap(); *) Braces: 842 for (size_t i = 0; i < active; i++) 843 sorted_regions.add_region(regions->get(i)); 1216 if (minor) 1217 _minor_heuristics->choose_collection_set(collection_set, matrix); 1218 else 1219 _heuristics->choose_collection_set(collection_set, matrix); 1446 if (_minor_heuristics != NULL) 1447 return _minor_heuristics->should_start_partial_gc(); 1448 else return false; *) Can reuse "heap": 913 ShenandoahHeap* heap = ShenandoahHeap::heap(); 914 // For now don't start until we are 50% full 915 size_t threshold = ShenandoahHeap::heap()->regions()->active_regions() * 916 percentage_old / 100 * 917 ShenandoahHeapRegion::region_size_bytes(); 918 size_t minimum = ShenandoahHeap::heap()->regions()->active_regions() * 919 0.5 * 920 ShenandoahHeapRegion::region_size_bytes(); *) "\n" are not needed in log_info(...) statements Thanks, -Aleksey From shade at redhat.com Wed May 24 18:33:26 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 24 May 2017 20:33:26 +0200 Subject: RFR: More Partial Heuristics In-Reply-To: References: Message-ID: <648e34e3-507e-bb70-bdb0-d4d5045e22bb@redhat.com> On 05/24/2017 06:44 PM, Aleksey Shipilev wrote: > On 05/24/2017 03:32 PM, Christine Flood wrote: >> http://cr.openjdk.java.net/~chf/heuristics/webrev.00/ A few more, after running with it: *) log_info(gc) in should_start_partial_gc() is noisy. I think it should be log_info(gc,ergo), and only print if it returns "true". *) Current patch SEGVs on SPECjbb, because _partial_gc now initializes lazily, and you need at least this: bool ShenandoahCollectorPolicy::can_do_partial_gc() { return _heuristics->can_do_partial_gc() || _minor_heuristics->can_do_partial_gc(); } -Aleksey From shade at redhat.com Mon May 29 12:07:29 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 29 May 2017 14:07:29 +0200 Subject: RFR: Root processors SEGV when executed outside VM operation Message-ID: <046e3b24-6875-b459-9ca5-8543656b53f8@redhat.com> Parallel safepoint cleanup makes our build SEGV when verification is turned on. This is because "vm_operation()" can be NULL on those paths. Fix: $ hg diff diff -r b67661c7315a src/share/vm/gc/shenandoah/shenandoahRootProcessor.cpp --- a/src/share/vm/gc/shenandoah/shenandoahRootProcessor.cpp Wed May 24 10:41:56 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahRootProcessor.cpp Mon May 29 14:06:06 2017 +0200 @@ -49,7 +49,7 @@ { heap->shenandoahPolicy()->record_workers_start(_phase); VM_ShenandoahOperation* op = (VM_ShenandoahOperation*) VMThread::vm_operation(); - if (! op->_safepoint_cleanup_done) { + if (op == NULL || !op->_safepoint_cleanup_done) { _threads_nmethods_cl = NMethodSweeper::prepare_mark_active_nmethods(); } } @@ -58,7 +58,9 @@ delete _process_strong_tasks; ShenandoahHeap::heap()->shenandoahPolicy()->record_workers_end(_phase); VM_ShenandoahOperation* op = (VM_ShenandoahOperation*) VMThread::vm_operation(); - op->_safepoint_cleanup_done = true; + if (op != NULL) { + op->_safepoint_cleanup_done = true; + } } void ShenandoahRootProcessor::process_strong_roots(OopClosure* oops, @@ -185,7 +187,7 @@ { heap->shenandoahPolicy()->record_workers_start(_phase); VM_ShenandoahOperation* op = (VM_ShenandoahOperation*) VMThread::vm_operation(); - if (! op->_safepoint_cleanup_done) { + if (op == NULL || !op->_safepoint_cleanup_done) { _threads_nmethods_cl = NMethodSweeper::prepare_mark_active_nmethods(); } } @@ -194,7 +196,9 @@ delete _process_strong_tasks; ShenandoahHeap::heap()->shenandoahPolicy()->record_workers_end(_phase); VM_ShenandoahOperation* op = (VM_ShenandoahOperation*) VMThread::vm_operation(); - op->_safepoint_cleanup_done = true; + if (op != NULL) { + op->_safepoint_cleanup_done = true; + } } void ShenandoahRootEvacuator::process_evacuate_roots(OopClosure* oops, Testing: hotspot_gc_shenandoah -Aleksey From rkennke at redhat.com Mon May 29 12:12:01 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 29 May 2017 14:12:01 +0200 Subject: RFR: Root processors SEGV when executed outside VM operation In-Reply-To: <046e3b24-6875-b459-9ca5-8543656b53f8@redhat.com> References: <046e3b24-6875-b459-9ca5-8543656b53f8@redhat.com> Message-ID: <3BAC54B6-C416-4187-8B95-D14928DA4808@redhat.com> Ugh. Yes! Am 29. Mai 2017 14:07:29 MESZ schrieb Aleksey Shipilev : >Parallel safepoint cleanup makes our build SEGV when verification is >turned on. >This is because "vm_operation()" can be NULL on those paths. > >Fix: > >$ hg diff >diff -r b67661c7315a >src/share/vm/gc/shenandoah/shenandoahRootProcessor.cpp >--- a/src/share/vm/gc/shenandoah/shenandoahRootProcessor.cpp Wed May 24 >10:41:56 >2017 +0200 >+++ b/src/share/vm/gc/shenandoah/shenandoahRootProcessor.cpp Mon May 29 >14:06:06 >2017 +0200 >@@ -49,7 +49,7 @@ > { > heap->shenandoahPolicy()->record_workers_start(_phase); >VM_ShenandoahOperation* op = (VM_ShenandoahOperation*) >VMThread::vm_operation(); >- if (! op->_safepoint_cleanup_done) { >+ if (op == NULL || !op->_safepoint_cleanup_done) { > _threads_nmethods_cl = NMethodSweeper::prepare_mark_active_nmethods(); > } > } >@@ -58,7 +58,9 @@ > delete _process_strong_tasks; >ShenandoahHeap::heap()->shenandoahPolicy()->record_workers_end(_phase); >VM_ShenandoahOperation* op = (VM_ShenandoahOperation*) >VMThread::vm_operation(); >- op->_safepoint_cleanup_done = true; >+ if (op != NULL) { >+ op->_safepoint_cleanup_done = true; >+ } > } > > void ShenandoahRootProcessor::process_strong_roots(OopClosure* oops, >@@ -185,7 +187,7 @@ > { > heap->shenandoahPolicy()->record_workers_start(_phase); >VM_ShenandoahOperation* op = (VM_ShenandoahOperation*) >VMThread::vm_operation(); >- if (! op->_safepoint_cleanup_done) { >+ if (op == NULL || !op->_safepoint_cleanup_done) { > _threads_nmethods_cl = NMethodSweeper::prepare_mark_active_nmethods(); > } > } >@@ -194,7 +196,9 @@ > delete _process_strong_tasks; >ShenandoahHeap::heap()->shenandoahPolicy()->record_workers_end(_phase); >VM_ShenandoahOperation* op = (VM_ShenandoahOperation*) >VMThread::vm_operation(); >- op->_safepoint_cleanup_done = true; >+ if (op != NULL) { >+ op->_safepoint_cleanup_done = true; >+ } > } > > void ShenandoahRootEvacuator::process_evacuate_roots(OopClosure* oops, > > >Testing: hotspot_gc_shenandoah > >-Aleksey -- Sent from my FairPhone From ashipile at redhat.com Mon May 29 12:17:59 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Mon, 29 May 2017 12:17:59 +0000 Subject: hg: shenandoah/jdk9/hotspot: Root processors SEGV when executed outside of VM operation Message-ID: <201705291217.v4TCHxWD019254@aojmv0008.oracle.com> Changeset: c5b6e9932852 Author: shade Date: 2017-05-29 14:15 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/c5b6e9932852 Root processors SEGV when executed outside of VM operation ! src/share/vm/gc/shenandoah/shenandoahRootProcessor.cpp From shade at redhat.com Mon May 29 15:14:31 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 29 May 2017 17:14:31 +0200 Subject: RFR: Reference processors might use non-forwarded alive checks Message-ID: <48e69433-36aa-3170-b406-f591eeab0129@redhat.com> Hi, Current RPs are using ShenandoahIsForwardedAliveClosure, which always go via fwdptr, assuming there could be a forwarded copy. However, with update-refs phase, this is excessive. Therefore, it makes sense to specialize for this case: http://cr.openjdk.java.net/~shade/shenandoah/refproc-isalive/webrev.01/ Improves concmark times, class unloading and weak refs a bit: http://cr.openjdk.java.net/~shade/shenandoah/refproc-isalive/before.txt http://cr.openjdk.java.net/~shade/shenandoah/refproc-isalive/after.txt Testing: hotspot_gc_shenandoah -Aleksey From roman at kennke.org Mon May 29 15:18:38 2017 From: roman at kennke.org (Roman Kennke) Date: Mon, 29 May 2017 17:18:38 +0200 Subject: RFR: Reference processors might use non-forwarded alive checks In-Reply-To: <48e69433-36aa-3170-b406-f591eeab0129@redhat.com> References: <48e69433-36aa-3170-b406-f591eeab0129@redhat.com> Message-ID: <346abec1-d046-716c-385c-af0619940447@kennke.org> Am 29.05.2017 um 17:14 schrieb Aleksey Shipilev: > Hi, > > Current RPs are using ShenandoahIsForwardedAliveClosure, which always go via > fwdptr, assuming there could be a forwarded copy. However, with update-refs > phase, this is excessive. > > Therefore, it makes sense to specialize for this case: > http://cr.openjdk.java.net/~shade/shenandoah/refproc-isalive/webrev.01/ > > Improves concmark times, class unloading and weak refs a bit: > http://cr.openjdk.java.net/~shade/shenandoah/refproc-isalive/before.txt > http://cr.openjdk.java.net/~shade/shenandoah/refproc-isalive/after.txt > > Testing: hotspot_gc_shenandoah > > -Aleksey > > Ok From ashipile at redhat.com Mon May 29 15:22:14 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Mon, 29 May 2017 15:22:14 +0000 Subject: hg: shenandoah/jdk9/hotspot: Reference processors might use non-forwarded alive checks Message-ID: <201705291522.v4TFMENH009007@aojmv0008.oracle.com> Changeset: 4d6a830dfa8a Author: shade Date: 2017-05-29 17:20 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/4d6a830dfa8a Reference processors might use non-forwarded alive checks ! src/share/vm/gc/shared/referenceProcessor.hpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.hpp From shade at redhat.com Mon May 29 16:54:20 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 29 May 2017 18:54:20 +0200 Subject: RFR: Print more detailed final UR stats Message-ID: <6a36e777-7494-0c49-11ca-60737225f782@redhat.com> This adds "Finish Work" and "Recycle" to Final Update Refs phase. http://cr.openjdk.java.net/~shade/shenandoah/stats-final-ur-detail/webrev.01/ -Aleksey From roman at kennke.org Mon May 29 16:55:21 2017 From: roman at kennke.org (Roman Kennke) Date: Mon, 29 May 2017 18:55:21 +0200 Subject: RFR: Print more detailed final UR stats In-Reply-To: <6a36e777-7494-0c49-11ca-60737225f782@redhat.com> References: <6a36e777-7494-0c49-11ca-60737225f782@redhat.com> Message-ID: <6292FF31-2E3B-4662-9388-F3C1D5AE43E6@kennke.org> Great! Just what I was missing ;-) Go! Am 29. Mai 2017 18:54:20 MESZ schrieb Aleksey Shipilev : >This adds "Finish Work" and "Recycle" to Final Update Refs phase. > >http://cr.openjdk.java.net/~shade/shenandoah/stats-final-ur-detail/webrev.01/ > >-Aleksey -- Sent from my FairPhone From ashipile at redhat.com Mon May 29 17:07:38 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Mon, 29 May 2017 17:07:38 +0000 Subject: hg: shenandoah/jdk9/hotspot: Print more detailed final UR stats Message-ID: <201705291707.v4TH7cUL008999@aojmv0008.oracle.com> Changeset: fbdc982717e2 Author: shade Date: 2017-05-29 19:05 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/fbdc982717e2 Print more detailed final UR stats ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp From shade at redhat.com Mon May 29 18:12:38 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Mon, 29 May 2017 20:12:38 +0200 Subject: RFR: Print more details for weak ref and class unloading stats Message-ID: <053b00d5-a618-d8a4-c1f0-333b4bf44412@redhat.com> I would like to have more insight into "Weak References" and "Class Unloading" phases: http://cr.openjdk.java.net/~shade/shenandoah/stats-purge-weakrefs/webrev.01/ Sample report: http://cr.openjdk.java.net/~shade/shenandoah/stats-purge-weakrefs/gcstats.txt Testing: hotspot_gc_shenandoah -Aleksey From rkennke at redhat.com Mon May 29 18:14:26 2017 From: rkennke at redhat.com (Roman Kennke) Date: Mon, 29 May 2017 20:14:26 +0200 Subject: RFR: Print more details for weak ref and class unloading stats In-Reply-To: <053b00d5-a618-d8a4-c1f0-333b4bf44412@redhat.com> References: <053b00d5-a618-d8a4-c1f0-333b4bf44412@redhat.com> Message-ID: <78bed9a2-a4e0-b396-ba20-e3a2f60fd738@redhat.com> Am 29.05.2017 um 20:12 schrieb Aleksey Shipilev: > I would like to have more insight into "Weak References" and "Class Unloading" > phases: > http://cr.openjdk.java.net/~shade/shenandoah/stats-purge-weakrefs/webrev.01/ > > Sample report: > http://cr.openjdk.java.net/~shade/shenandoah/stats-purge-weakrefs/gcstats.txt > > Testing: hotspot_gc_shenandoah > > -Aleksey > > Looks useful! Yes! From ashipile at redhat.com Mon May 29 18:36:42 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Mon, 29 May 2017 18:36:42 +0000 Subject: hg: shenandoah/jdk9/hotspot: Print more details for weak ref and class unloading stats Message-ID: <201705291836.v4TIagxq004670@aojmv0008.oracle.com> Changeset: 300d4921e9db Author: shade Date: 2017-05-29 20:35 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/300d4921e9db Print more details for weak ref and class unloading stats ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.hpp From shade at redhat.com Tue May 30 07:31:43 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 30 May 2017 09:31:43 +0200 Subject: RFR: Properly react on -ClassUnloading Message-ID: <9953f059-6d5e-f300-67cf-9d9f622024c9@redhat.com> Hi, Let Shenandoah properly react on disabled class unloading: $ hg diff diff -r 300d4921e9db src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp --- a/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Mon May 29 20:35:00 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Tue May 30 09:23:57 2017 +0200 @@ -436,6 +436,7 @@ } virtual bool unload_classes() { + if (ShenandoahUnloadClassesFrequency == 0) return false; // Randomly unload classes with 50% chance. return (os::random() & 1) == 1; } @@ -460,6 +461,7 @@ } virtual bool unload_classes() { + if (ShenandoahUnloadClassesFrequency == 0) return false; // Randomly unload classes with 50% chance. return (os::random() & 1) == 1; } diff -r 300d4921e9db src/share/vm/runtime/arguments.cpp --- a/src/share/vm/runtime/arguments.cpp Mon May 29 20:35:00 2017 +0200 +++ b/src/share/vm/runtime/arguments.cpp Tue May 30 09:23:57 2017 +0200 @@ -2137,6 +2137,7 @@ FLAG_SET_CMDLINE(bool, CMSClassUnloadingEnabled, false); FLAG_SET_CMDLINE(bool, ClassUnloadingWithConcurrentMark, false); FLAG_SET_CMDLINE(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false); + FLAG_SET_CMDLINE(uintx, ShenandoahUnloadClassesFrequency, 0); } #endif // INCLUDE_ALL_GCS } Thanks, -Aleksey From shade at redhat.com Tue May 30 07:59:50 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 30 May 2017 09:59:50 +0200 Subject: RFR: Passive heuristics should consistently process refs and unload classes Message-ID: <387d011d-c17e-ca2b-722d-058f0bd9a4f7@redhat.com> We have copied the random block from Aggressive policy to Passive one. The goal for random selection in Aggressive is to exercise all paths. For Passive, we are better off being consistent: $ hg diff diff -r 1d44a55dc2c9 src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp --- a/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Tue May 30 09:45:47 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Tue May 30 09:56:58 2017 +0200 @@ -431,14 +431,14 @@ } virtual bool process_references() { - // Randomly process refs with 50% chance. - return (os::random() & 1) == 1; + // Always process references. + return true; } virtual bool unload_classes() { if (ShenandoahUnloadClassesFrequency == 0) return false; - // Randomly unload classes with 50% chance. - return (os::random() & 1) == 1; + // Always unload classes. + return true; } }; Testing: hotspot_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Tue May 30 08:25:49 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 May 2017 10:25:49 +0200 Subject: RFR: Properly react on -ClassUnloading In-Reply-To: <9953f059-6d5e-f300-67cf-9d9f622024c9@redhat.com> References: <9953f059-6d5e-f300-67cf-9d9f622024c9@redhat.com> Message-ID: <8FFF85C9-41A5-465A-B431-7CA3129960BA@redhat.com> Looks good Am 30. Mai 2017 09:31:43 MESZ schrieb Aleksey Shipilev : >Hi, > >Let Shenandoah properly react on disabled class unloading: > >$ hg diff >diff -r 300d4921e9db >src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp >--- a/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Mon May >29 >20:35:00 2017 +0200 >+++ b/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Tue May >30 >09:23:57 2017 +0200 >@@ -436,6 +436,7 @@ > } > > virtual bool unload_classes() { >+ if (ShenandoahUnloadClassesFrequency == 0) return false; > // Randomly unload classes with 50% chance. > return (os::random() & 1) == 1; > } >@@ -460,6 +461,7 @@ > } > > virtual bool unload_classes() { >+ if (ShenandoahUnloadClassesFrequency == 0) return false; > // Randomly unload classes with 50% chance. > return (os::random() & 1) == 1; > } >diff -r 300d4921e9db src/share/vm/runtime/arguments.cpp >--- a/src/share/vm/runtime/arguments.cpp Mon May 29 20:35:00 2017 +0200 >+++ b/src/share/vm/runtime/arguments.cpp Tue May 30 09:23:57 2017 +0200 >@@ -2137,6 +2137,7 @@ > FLAG_SET_CMDLINE(bool, CMSClassUnloadingEnabled, false); > FLAG_SET_CMDLINE(bool, ClassUnloadingWithConcurrentMark, false); >FLAG_SET_CMDLINE(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, >false); >+ FLAG_SET_CMDLINE(uintx, ShenandoahUnloadClassesFrequency, 0); > } > #endif // INCLUDE_ALL_GCS > } > > >Thanks, >-Aleksey -- Sent from my FairPhone From rkennke at redhat.com Tue May 30 08:26:36 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 May 2017 10:26:36 +0200 Subject: RFR: Passive heuristics should consistently process refs and unload classes In-Reply-To: <387d011d-c17e-ca2b-722d-058f0bd9a4f7@redhat.com> References: <387d011d-c17e-ca2b-722d-058f0bd9a4f7@redhat.com> Message-ID: <597B7698-DFA5-48C1-A3F3-C0C4B62897D3@redhat.com> Ok Am 30. Mai 2017 09:59:50 MESZ schrieb Aleksey Shipilev : >We have copied the random block from Aggressive policy to Passive one. >The goal >for random selection in Aggressive is to exercise all paths. For >Passive, we are >better off being consistent: > >$ hg diff >diff -r 1d44a55dc2c9 >src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp >--- a/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Tue May >30 >09:45:47 2017 +0200 >+++ b/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Tue May >30 >09:56:58 2017 +0200 >@@ -431,14 +431,14 @@ > } > > virtual bool process_references() { >- // Randomly process refs with 50% chance. >- return (os::random() & 1) == 1; >+ // Always process references. >+ return true; > } > > virtual bool unload_classes() { > if (ShenandoahUnloadClassesFrequency == 0) return false; >- // Randomly unload classes with 50% chance. >- return (os::random() & 1) == 1; >+ // Always unload classes. >+ return true; > } > }; > > >Testing: hotspot_gc_shenandoah > >Thanks, >-Aleksey -- Sent from my FairPhone From shade at redhat.com Tue May 30 08:28:24 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 30 May 2017 10:28:24 +0200 Subject: RFR: Mark-compact and heuristics should consistently process refs and unload classes In-Reply-To: <387d011d-c17e-ca2b-722d-058f0bd9a4f7@redhat.com> References: <387d011d-c17e-ca2b-722d-058f0bd9a4f7@redhat.com> Message-ID: <23eb9cb5-7a3c-5cb4-b952-6e87a0815a55@redhat.com> On 05/30/2017 09:59 AM, Aleksey Shipilev wrote: > We have copied the random block from Aggressive policy to Passive one. The goal > for random selection in Aggressive is to exercise all paths. For Passive, we are > better off being consistent: Actually, let's also cover mark-compact parts: http://cr.openjdk.java.net/~shade/shenandoah/passive-ur-cu/webrev.01/ -Aleksey From rkennke at redhat.com Tue May 30 08:43:45 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 May 2017 10:43:45 +0200 Subject: RFR: Mark-compact and heuristics should consistently process refs and unload classes In-Reply-To: <23eb9cb5-7a3c-5cb4-b952-6e87a0815a55@redhat.com> References: <387d011d-c17e-ca2b-722d-058f0bd9a4f7@redhat.com> <23eb9cb5-7a3c-5cb4-b952-6e87a0815a55@redhat.com> Message-ID: <536fcee7-d19d-c6e8-5159-08695c1dad8d@redhat.com> Am 30.05.2017 um 10:28 schrieb Aleksey Shipilev: > On 05/30/2017 09:59 AM, Aleksey Shipilev wrote: >> We have copied the random block from Aggressive policy to Passive one. The goal >> for random selection in Aggressive is to exercise all paths. For Passive, we are >> better off being consistent: > Actually, let's also cover mark-compact parts: > http://cr.openjdk.java.net/~shade/shenandoah/passive-ur-cu/webrev.01/ > > -Aleksey > I am not sure about this. I think the intention of the flags controlling ref processing and class unloading were meant to affect regular GC cycles. Mark-compact is our last-ditch collection and should always process refs and unload classes. What would be a good reason to not do that? Roman From shade at redhat.com Tue May 30 08:48:06 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 30 May 2017 10:48:06 +0200 Subject: RFR: Mark-compact and heuristics should consistently process refs and unload classes In-Reply-To: <536fcee7-d19d-c6e8-5159-08695c1dad8d@redhat.com> References: <387d011d-c17e-ca2b-722d-058f0bd9a4f7@redhat.com> <23eb9cb5-7a3c-5cb4-b952-6e87a0815a55@redhat.com> <536fcee7-d19d-c6e8-5159-08695c1dad8d@redhat.com> Message-ID: On 05/30/2017 10:43 AM, Roman Kennke wrote: > Am 30.05.2017 um 10:28 schrieb Aleksey Shipilev: >> On 05/30/2017 09:59 AM, Aleksey Shipilev wrote: >>> We have copied the random block from Aggressive policy to Passive one. The goal >>> for random selection in Aggressive is to exercise all paths. For Passive, we are >>> better off being consistent: >> Actually, let's also cover mark-compact parts: >> http://cr.openjdk.java.net/~shade/shenandoah/passive-ur-cu/webrev.01/ >> >> -Aleksey >> > I am not sure about this. I think the intention of the flags controlling > ref processing and class unloading were meant to affect regular GC > cycles. Mark-compact is our last-ditch collection and should always > process refs and unload classes. What would be a good reason to not do that? I think that -ClassUnloading should disable class unloading even for last ditch collections. It is a configuration error if disabling class unloading disallows to reclaim needed space, but we should really honor that command. This is why mark-compact cares only about it explicitly disabled. Process weak refs is a bit similar, but this is mostly for internal work: disabling ref processing should disable it everywhere, including last ditch collection. This covers for the case when there is an accidental last ditch collection in the middle of performance experiment. -Aleksey From rkennke at redhat.com Tue May 30 08:52:31 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 May 2017 10:52:31 +0200 Subject: RFR: Mark-compact and heuristics should consistently process refs and unload classes In-Reply-To: References: <387d011d-c17e-ca2b-722d-058f0bd9a4f7@redhat.com> <23eb9cb5-7a3c-5cb4-b952-6e87a0815a55@redhat.com> <536fcee7-d19d-c6e8-5159-08695c1dad8d@redhat.com> Message-ID: <90f3942c-fcd8-2ff4-1131-f92b3306e482@redhat.com> Am 30.05.2017 um 10:48 schrieb Aleksey Shipilev: > On 05/30/2017 10:43 AM, Roman Kennke wrote: >> Am 30.05.2017 um 10:28 schrieb Aleksey Shipilev: >>> On 05/30/2017 09:59 AM, Aleksey Shipilev wrote: >>>> We have copied the random block from Aggressive policy to Passive one. The goal >>>> for random selection in Aggressive is to exercise all paths. For Passive, we are >>>> better off being consistent: >>> Actually, let's also cover mark-compact parts: >>> http://cr.openjdk.java.net/~shade/shenandoah/passive-ur-cu/webrev.01/ >>> >>> -Aleksey >>> >> I am not sure about this. I think the intention of the flags controlling >> ref processing and class unloading were meant to affect regular GC >> cycles. Mark-compact is our last-ditch collection and should always >> process refs and unload classes. What would be a good reason to not do that? > I think that -ClassUnloading should disable class unloading even for last ditch > collections. It is a configuration error if disabling class unloading disallows > to reclaim needed space, but we should really honor that command. This is why > mark-compact cares only about it explicitly disabled. > > Process weak refs is a bit similar, but this is mostly for internal work: > disabling ref processing should disable it everywhere, including last ditch > collection. This covers for the case when there is an accidental last ditch > collection in the middle of performance experiment. Ok fine then. Roman From ashipile at redhat.com Tue May 30 08:56:17 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 30 May 2017 08:56:17 +0000 Subject: hg: shenandoah/jdk9/hotspot: 3 new changesets Message-ID: <201705300856.v4U8uH3J010809@aojmv0008.oracle.com> Changeset: 1d44a55dc2c9 Author: shade Date: 2017-05-30 09:45 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/1d44a55dc2c9 Properly react on -ClassUnloading ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/runtime/arguments.cpp Changeset: c9ba4c1addfe Author: shade Date: 2017-05-30 10:05 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/c9ba4c1addfe Passive heuristics should consistently process refs and unload classes ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Changeset: 350fec3079bb Author: shade Date: 2017-05-30 10:53 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/350fec3079bb Mark-compact and heuristics should consistently process refs and unload classes ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp From shade at redhat.com Tue May 30 10:12:03 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 30 May 2017 12:12:03 +0200 Subject: RFR: Update roots should always handle derived pointers Message-ID: Hi, Follow my logic here. It looks to me that every root modification needs to be wrapped with DPT::clear and DPT::update_pointers to capture the rare stack-alloced beasts. However, we are missing this pair for Final Update Refs. Therefore, this is the valid fix/cleanup: http://cr.openjdk.java.net/~shade/shenandoah/update-roots-dpt/webrev.01/ (Also checked all usages of ShenandoahRootEvacuator) Testing: hotspot_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Tue May 30 10:50:01 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 May 2017 12:50:01 +0200 Subject: RFR: Update roots should always handle derived pointers In-Reply-To: References: Message-ID: Am 30.05.2017 um 12:12 schrieb Aleksey Shipilev: > Hi, > > Follow my logic here. > > It looks to me that every root modification needs to be wrapped with DPT::clear > and DPT::update_pointers to capture the rare stack-alloced beasts. However, we > are missing this pair for Final Update Refs. Therefore, this is the valid > fix/cleanup: > http://cr.openjdk.java.net/~shade/shenandoah/update-roots-dpt/webrev.01/ > > (Also checked all usages of ShenandoahRootEvacuator) > > Testing: hotspot_gc_shenandoah Ugh. Lucky that it hasn't crashed on us yet. Good to go! Roman From shade at redhat.com Tue May 30 10:55:24 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 30 May 2017 12:55:24 +0200 Subject: RFR: Make statistics gathering span more operations Message-ID: <19485d47-ca90-8067-113c-7ba690a853c0@redhat.com> We seem to be doing some work in shadows, without GC stats recording it. I scanned the code for all our VM ops, and this change moves the phase_(start|end) statements around to capture the timings better: http://cr.openjdk.java.net/~shade/shenandoah/stats-closer/webrev.01/ Testing: hotspot_gc_shenandoah Thanks, -Aleksey From roman at kennke.org Tue May 30 10:58:23 2017 From: roman at kennke.org (Roman Kennke) Date: Tue, 30 May 2017 12:58:23 +0200 Subject: RFR: Make statistics gathering span more operations In-Reply-To: <19485d47-ca90-8067-113c-7ba690a853c0@redhat.com> References: <19485d47-ca90-8067-113c-7ba690a853c0@redhat.com> Message-ID: <9ab6950c-ce6c-0de0-0ad8-ba8bed87b452@kennke.org> Am 30.05.2017 um 12:55 schrieb Aleksey Shipilev: > We seem to be doing some work in shadows, without GC stats recording it. I > scanned the code for all our VM ops, and this change moves the phase_(start|end) > statements around to capture the timings better: > http://cr.openjdk.java.net/~shade/shenandoah/stats-closer/webrev.01/ > > Testing: hotspot_gc_shenandoah Ok. clear-matrix probably warrants its own measurement? Up to you. Roman From shade at redhat.com Tue May 30 11:00:06 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 30 May 2017 13:00:06 +0200 Subject: RFR: Make statistics gathering span more operations In-Reply-To: <9ab6950c-ce6c-0de0-0ad8-ba8bed87b452@kennke.org> References: <19485d47-ca90-8067-113c-7ba690a853c0@redhat.com> <9ab6950c-ce6c-0de0-0ad8-ba8bed87b452@kennke.org> Message-ID: On 05/30/2017 12:58 PM, Roman Kennke wrote: > clear-matrix probably warrants its own measurement? Up to you. I am not even sure it belongs there, because we clear the matrix in Init UR too. Need to look through how matrix updates are handled in concmark. -Aleksey From ashipile at redhat.com Tue May 30 11:03:06 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 30 May 2017 11:03:06 +0000 Subject: hg: shenandoah/jdk9/hotspot: 2 new changesets Message-ID: <201705301103.v4UB36pS017439@aojmv0008.oracle.com> Changeset: fa254a9c4b1c Author: shade Date: 2017-05-30 12:17 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/fa254a9c4b1c Update roots should always handle derived pointers ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp Changeset: 48b6de495475 Author: shade Date: 2017-05-30 13:00 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/48b6de495475 Make statistics gathering span more operations ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp From shade at redhat.com Tue May 30 18:33:01 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 30 May 2017 20:33:01 +0200 Subject: RFR: Remove matrix operations from concurrent mark Message-ID: We have discussed this before: matrix is needed for partial collections, partial collections force update-refs phase, and update-refs rebuilds the matrix. Therefore, matrix rebuild is not needed during concurrent mark. Moreover, we now do double work: we first rebuild matrix during concmark, and then do it again during update-refs! This is excessive. This removes matrix operations from concurrent mark: http://cr.openjdk.java.net/~shade/shenandoah/matrix-remove-cm/webrev.01/ Testing: hotspot_gc_shenandoah Thanks, -Aleksey From rkennke at redhat.com Tue May 30 19:27:10 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 May 2017 21:27:10 +0200 Subject: RFR: Remove matrix operations from concurrent mark In-Reply-To: References: Message-ID: <80155b42-c846-e224-10cf-e138e4b8b47d@redhat.com> Am 30.05.2017 um 20:33 schrieb Aleksey Shipilev: > We have discussed this before: matrix is needed for partial collections, partial > collections force update-refs phase, and update-refs rebuilds the matrix. > Therefore, matrix rebuild is not needed during concurrent mark. Moreover, we now > do double work: we first rebuild matrix during concmark, and then do it again > during update-refs! This is excessive. > > This removes matrix operations from concurrent mark: > http://cr.openjdk.java.net/~shade/shenandoah/matrix-remove-cm/webrev.01/ > > Testing: hotspot_gc_shenandoah > > Thanks, > -Aleksey > Very good, yes! Roman From ashipile at redhat.com Tue May 30 19:32:53 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 30 May 2017 19:32:53 +0000 Subject: hg: shenandoah/jdk9/hotspot: Remove matrix operations from concurrent mark Message-ID: <201705301932.v4UJWrYG010818@aojmv0008.oracle.com> Changeset: 1d2abaee9c79 Author: shade Date: 2017-05-30 21:31 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/1d2abaee9c79 Remove matrix operations from concurrent mark ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.inline.hpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahOopClosures.hpp ! src/share/vm/gc/shenandoah/shenandoahOopClosures.inline.hpp ! src/share/vm/gc/shenandoah/shenandoah_specialized_oop_closures.hpp From shade at redhat.com Tue May 30 20:05:19 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 30 May 2017 22:05:19 +0200 Subject: RFR: [8u] Increase timeout for EvilSyncBug test Message-ID: <7d0613a4-33e3-2113-f6bd-977669bb8b39@redhat.com> 8u seems significantly slower in fastdebug than 9, and this test timeouts intermittently. I propose we increase the timeout from 120 to 240 seconds. $ hg diff diff -r 6ee2dcaf8e98 test/gc/shenandoah/EvilSyncBug.java --- a/test/gc/shenandoah/EvilSyncBug.java Tue May 30 22:00:06 2017 +0200 +++ b/test/gc/shenandoah/EvilSyncBug.java Tue May 30 22:01:10 2017 +0200 @@ -28,7 +28,7 @@ * @library /testlibrary * @modules java.base/jdk.internal.misc * java.management - * @run driver EvilSyncBug + * @run driver/timeout=240 EvilSyncBug */ import java.util.*; -Aleksey From rkennke at redhat.com Tue May 30 20:15:58 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 May 2017 22:15:58 +0200 Subject: RFR: [8u] Increase timeout for EvilSyncBug test In-Reply-To: <7d0613a4-33e3-2113-f6bd-977669bb8b39@redhat.com> References: <7d0613a4-33e3-2113-f6bd-977669bb8b39@redhat.com> Message-ID: <741a81e2-66f0-cd8f-df29-989a3d5c4f14@redhat.com> Am 30.05.2017 um 22:05 schrieb Aleksey Shipilev: > 8u seems significantly slower in fastdebug than 9, and this test timeouts > intermittently. I propose we increase the timeout from 120 to 240 seconds. > > $ hg diff > diff -r 6ee2dcaf8e98 test/gc/shenandoah/EvilSyncBug.java > --- a/test/gc/shenandoah/EvilSyncBug.java Tue May 30 22:00:06 2017 +0200 > +++ b/test/gc/shenandoah/EvilSyncBug.java Tue May 30 22:01:10 2017 +0200 > @@ -28,7 +28,7 @@ > * @library /testlibrary > * @modules java.base/jdk.internal.misc > * java.management > - * @run driver EvilSyncBug > + * @run driver/timeout=240 EvilSyncBug > */ > > import java.util.*; > > > -Aleksey > Yes please. I am running into this frequently. Can you also do this for jdk9? Roman From shade at redhat.com Tue May 30 20:16:49 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Tue, 30 May 2017 22:16:49 +0200 Subject: RFR: [8u] Increase timeout for EvilSyncBug test In-Reply-To: <741a81e2-66f0-cd8f-df29-989a3d5c4f14@redhat.com> References: <7d0613a4-33e3-2113-f6bd-977669bb8b39@redhat.com> <741a81e2-66f0-cd8f-df29-989a3d5c4f14@redhat.com> Message-ID: <6085f556-cfa4-5cd2-9bac-ca18ac42e491@redhat.com> On 05/30/2017 10:15 PM, Roman Kennke wrote: > Am 30.05.2017 um 22:05 schrieb Aleksey Shipilev: >> 8u seems significantly slower in fastdebug than 9, and this test timeouts >> intermittently. I propose we increase the timeout from 120 to 240 seconds. >> >> $ hg diff >> diff -r 6ee2dcaf8e98 test/gc/shenandoah/EvilSyncBug.java >> --- a/test/gc/shenandoah/EvilSyncBug.java Tue May 30 22:00:06 2017 +0200 >> +++ b/test/gc/shenandoah/EvilSyncBug.java Tue May 30 22:01:10 2017 +0200 >> @@ -28,7 +28,7 @@ >> * @library /testlibrary >> * @modules java.base/jdk.internal.misc >> * java.management >> - * @run driver EvilSyncBug >> + * @run driver/timeout=240 EvilSyncBug >> */ >> >> import java.util.*; >> >> >> -Aleksey >> > Yes please. I am running into this frequently. Can you also do this for > jdk9? I had never run into it in jdk9. Have you? -Aleksey From ashipile at redhat.com Tue May 30 20:23:53 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 30 May 2017 20:23:53 +0000 Subject: hg: shenandoah/jdk9/hotspot: Increase timeout for EvilSyncBug test Message-ID: <201705302023.v4UKNsmB029185@aojmv0008.oracle.com> Changeset: fa7fc20d6830 Author: shade Date: 2017-05-30 22:21 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/fa7fc20d6830 Increase timeout for EvilSyncBug test ! test/gc/shenandoah/EvilSyncBug.java From rkennke at redhat.com Tue May 30 20:23:11 2017 From: rkennke at redhat.com (Roman Kennke) Date: Tue, 30 May 2017 22:23:11 +0200 Subject: RFR: [8u] Increase timeout for EvilSyncBug test In-Reply-To: <6085f556-cfa4-5cd2-9bac-ca18ac42e491@redhat.com> References: <7d0613a4-33e3-2113-f6bd-977669bb8b39@redhat.com> <741a81e2-66f0-cd8f-df29-989a3d5c4f14@redhat.com> <6085f556-cfa4-5cd2-9bac-ca18ac42e491@redhat.com> Message-ID: Am 30.05.2017 um 22:16 schrieb Aleksey Shipilev: > On 05/30/2017 10:15 PM, Roman Kennke wrote: >> Am 30.05.2017 um 22:05 schrieb Aleksey Shipilev: >>> 8u seems significantly slower in fastdebug than 9, and this test timeouts >>> intermittently. I propose we increase the timeout from 120 to 240 seconds. >>> >>> $ hg diff >>> diff -r 6ee2dcaf8e98 test/gc/shenandoah/EvilSyncBug.java >>> --- a/test/gc/shenandoah/EvilSyncBug.java Tue May 30 22:00:06 2017 +0200 >>> +++ b/test/gc/shenandoah/EvilSyncBug.java Tue May 30 22:01:10 2017 +0200 >>> @@ -28,7 +28,7 @@ >>> * @library /testlibrary >>> * @modules java.base/jdk.internal.misc >>> * java.management >>> - * @run driver EvilSyncBug >>> + * @run driver/timeout=240 EvilSyncBug >>> */ >>> >>> import java.util.*; >>> >>> >>> -Aleksey >>> >> Yes please. I am running into this frequently. Can you also do this for >> jdk9? > I had never run into it in jdk9. Have you? > > -Aleksey > > Yes Roman From ashipile at redhat.com Tue May 30 20:31:55 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Tue, 30 May 2017 20:31:55 +0000 Subject: hg: shenandoah/jdk8u/hotspot: 9 new changesets Message-ID: <201705302031.v4UKVtLV001740@aojmv0008.oracle.com> Changeset: 7b7333e1e690 Author: shade Date: 2017-05-30 21:07 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/7b7333e1e690 [backport] "Allocation failure" cause should not be overwritten ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentThread.cpp Changeset: ac228f432b1c Author: shade Date: 2017-05-30 21:18 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/ac228f432b1c [backport] Reference processors might use non-forwarded alive checks ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp ! src/share/vm/memory/referenceProcessor.hpp Changeset: 35acb4f34e46 Author: shade Date: 2017-05-30 21:24 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/35acb4f34e46 [backport] Print more detailed final UR stats ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp Changeset: 41eaa057925b Author: shade Date: 2017-05-30 21:29 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/41eaa057925b [backport] Print more details for weak ref and class unloading stats ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahHeap.hpp Changeset: c677c87c1dd8 Author: shade Date: 2017-05-30 21:33 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/c677c87c1dd8 [backport] Properly react on -ClassUnloading ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/runtime/arguments.cpp Changeset: a89527c8bf52 Author: shade Date: 2017-05-30 21:38 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/a89527c8bf52 [backport] Mark-compact and heuristics should consistently process refs and unload classes ! src/share/vm/gc_implementation/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp Changeset: 1ed298447f11 Author: shade Date: 2017-05-30 21:45 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/1ed298447f11 [backport] Update roots should always handle derived pointers ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc_implementation/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc_implementation/shenandoah/shenandoahMarkCompact.cpp Changeset: 6ee2dcaf8e98 Author: shade Date: 2017-05-30 22:00 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/6ee2dcaf8e98 [backport] Make statistics gathering span more operations ! src/share/vm/gc_implementation/shenandoah/vm_operations_shenandoah.cpp Changeset: 1e24af43f934 Author: shade Date: 2017-05-30 22:21 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk8u/hotspot/rev/1e24af43f934 [backport] Increase timeout for EvilSyncBug test ! test/gc/shenandoah/EvilSyncBug.java From shade at redhat.com Wed May 31 11:48:21 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 13:48:21 +0200 Subject: RFR: Concurrent preclean Message-ID: <4a141dba-33c4-54fd-c449-683e873b55ac@redhat.com> Hi, Lots of weak references is hard. Processing them during the pause is also hard. For some applications I've tried, the pause is very long. While studying reference processing code I realized we can do something that CMS already does -- concurrently precleaning before diving into STW. See: http://cr.openjdk.java.net/~shade/shenandoah/preclean/webrev.01/ For example, retaining a 10M WeakHashMap, before/after: http://cr.openjdk.java.net/~shade/shenandoah/preclean/before.txt http://cr.openjdk.java.net/~shade/shenandoah/preclean/after.txt So the positive thing is that it moves a substantial part of pause to concurrent mode. The downside is that it is in the middle between concmark and final mark, which may accumulate more cruft in SATBs. But, with small reference count, the new phase takes just a bit of time, and with lots of references, we still have the net win. We can consider draining SATB during preclean later. Testing: hotspot_gc_shenandoah, jcstress -m quick -Aleksey From rkennke at redhat.com Wed May 31 11:59:34 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 31 May 2017 13:59:34 +0200 Subject: RFR: Concurrent preclean In-Reply-To: <4a141dba-33c4-54fd-c449-683e873b55ac@redhat.com> References: <4a141dba-33c4-54fd-c449-683e873b55ac@redhat.com> Message-ID: <0edc4b6a-260a-8f00-4fb0-1ea294ae986a@redhat.com> Am 31.05.2017 um 13:48 schrieb Aleksey Shipilev: > Hi, > > Lots of weak references is hard. Processing them during the pause is also hard. > For some applications I've tried, the pause is very long. While studying > reference processing code I realized we can do something that CMS already does > -- concurrently precleaning before diving into STW. > > See: > http://cr.openjdk.java.net/~shade/shenandoah/preclean/webrev.01/ > > For example, retaining a 10M WeakHashMap, before/after: > http://cr.openjdk.java.net/~shade/shenandoah/preclean/before.txt > http://cr.openjdk.java.net/~shade/shenandoah/preclean/after.txt > > So the positive thing is that it moves a substantial part of pause to concurrent > mode. The downside is that it is in the middle between concmark and final mark, > which may accumulate more cruft in SATBs. But, with small reference count, the > new phase takes just a bit of time, and with lots of references, we still have > the net win. We can consider draining SATB during preclean later. > > Testing: hotspot_gc_shenandoah, jcstress -m quick > > -Aleksey > Sounds good. - what's that commented part in referenceProcessor.cpp ? - is precleaning single-threaded? if yes, can it be made multithreaded? - isn't experimental flag defaulting to true pointless? shouldn't it be diagnostic-> default true, experimental -> default false? (not very important to me...) Roman From shade at redhat.com Wed May 31 12:20:22 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 14:20:22 +0200 Subject: RFR: Concurrent preclean In-Reply-To: <0edc4b6a-260a-8f00-4fb0-1ea294ae986a@redhat.com> References: <4a141dba-33c4-54fd-c449-683e873b55ac@redhat.com> <0edc4b6a-260a-8f00-4fb0-1ea294ae986a@redhat.com> Message-ID: <62f93fa0-1c35-9c4a-55b8-76f988ad2953@redhat.com> On 05/31/2017 01:59 PM, Roman Kennke wrote: > - what's that commented part in referenceProcessor.cpp ? Ah, leftover I had from performance experiments that exacerbate the issue to extreme. That commented block is the initial filtering on reference discovery. Removed: http://cr.openjdk.java.net/~shade/shenandoah/preclean/webrev.02/ > - is precleaning single-threaded? if yes, can it be made multithreaded? RP has only single-threaded precleaning. But it can be multi-threaded if RP supported it, like it supports MT reference processing. Trying to do this outside of RP would be incorrect. > - isn't experimental flag defaulting to true pointless? shouldn't it be > diagnostic-> default true, experimental -> default false? (not very > important to me...) I thought we mark all our kill-switches "experimental", regardless of their default value. Kept as is. -Aleksey From rkennke at redhat.com Wed May 31 12:25:13 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 31 May 2017 14:25:13 +0200 Subject: RFR: Concurrent preclean In-Reply-To: <62f93fa0-1c35-9c4a-55b8-76f988ad2953@redhat.com> References: <4a141dba-33c4-54fd-c449-683e873b55ac@redhat.com> <0edc4b6a-260a-8f00-4fb0-1ea294ae986a@redhat.com> <62f93fa0-1c35-9c4a-55b8-76f988ad2953@redhat.com> Message-ID: Am 31.05.2017 um 14:20 schrieb Aleksey Shipilev: > On 05/31/2017 01:59 PM, Roman Kennke wrote: >> - what's that commented part in referenceProcessor.cpp ? > Ah, leftover I had from performance experiments that exacerbate the issue to > extreme. That commented block is the initial filtering on reference discovery. > > Removed: > http://cr.openjdk.java.net/~shade/shenandoah/preclean/webrev.02/ > > >> - is precleaning single-threaded? if yes, can it be made multithreaded? > RP has only single-threaded precleaning. But it can be multi-threaded if RP > supported it, like it supports MT reference processing. Trying to do this > outside of RP would be incorrect. > >> - isn't experimental flag defaulting to true pointless? shouldn't it be >> diagnostic-> default true, experimental -> default false? (not very >> important to me...) > I thought we mark all our kill-switches "experimental", regardless of their > default value. Kept as is. > > -Aleksey > Ok good to go. Just out of curiousity: would MT precleaning win us anything significant? Roman From shade at redhat.com Wed May 31 12:27:52 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 14:27:52 +0200 Subject: RFR: Concurrent preclean In-Reply-To: References: <4a141dba-33c4-54fd-c449-683e873b55ac@redhat.com> <0edc4b6a-260a-8f00-4fb0-1ea294ae986a@redhat.com> <62f93fa0-1c35-9c4a-55b8-76f988ad2953@redhat.com> Message-ID: On 05/31/2017 02:25 PM, Roman Kennke wrote: > Just out of curiousity: would MT precleaning win us anything significant? It probably would make the cycle shorter in wall time, which is better for heuristics. But that's a second order effect, and probably does not worth considering right now. The other thing is shorter gap to final mark, but that again can be solved by draining SATB along the way. Let's see if that is problematic in workloads. -Aleksey From ashipile at redhat.com Wed May 31 12:48:08 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 31 May 2017 12:48:08 +0000 Subject: hg: shenandoah/jdk9/hotspot: Concurrent preclean. Message-ID: <201705311248.v4VCm9N4013389@aojmv0008.oracle.com> Changeset: add34cede0df Author: shade Date: 2017-05-31 14:46 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/add34cede0df Concurrent preclean. ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.hpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/share/vm/gc/shenandoah/shenandoahConcurrentThread.cpp ! src/share/vm/gc/shenandoah/shenandoah_globals.hpp From shade at redhat.com Wed May 31 16:23:57 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 18:23:57 +0200 Subject: RFR: Dense ShHeapRegion printout Message-ID: Hi, G1-style heap region printout (e.g. in hs_err_*) is nice and compact, let Shenandoah do the same: http://cr.openjdk.java.net/~shade/shenandoah/shr-print-line/webrev.01/ Sample hs_err: http://cr.openjdk.java.net/~shade/shenandoah/shr-print-line/hs_err_pid31766.log Thanks, -Aleksey From zgu at redhat.com Wed May 31 17:45:53 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 May 2017 13:45:53 -0400 Subject: RFR: Dense ShHeapRegion printout In-Reply-To: References: Message-ID: <43aecd04-dea1-032e-7ffa-bf49c67dc6c7@redhat.com> Looks great and very useful. Thanks, -Zhengyu On 05/31/2017 12:23 PM, Aleksey Shipilev wrote: > Hi, > > G1-style heap region printout (e.g. in hs_err_*) is nice and compact, let > Shenandoah do the same: > http://cr.openjdk.java.net/~shade/shenandoah/shr-print-line/webrev.01/ > > Sample hs_err: > http://cr.openjdk.java.net/~shade/shenandoah/shr-print-line/hs_err_pid31766.log > > Thanks, > -Aleksey > From ashipile at redhat.com Wed May 31 17:51:48 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 31 May 2017 17:51:48 +0000 Subject: hg: shenandoah/jdk9/hotspot: Dense ShenandoahHeapRegion printout Message-ID: <201705311751.v4VHpmMo020526@aojmv0008.oracle.com> Changeset: 7f114a445de8 Author: shade Date: 2017-05-31 19:48 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/7f114a445de8 Dense ShenandoahHeapRegion printout ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegion.cpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegion.hpp From rkennke at redhat.com Wed May 31 17:59:30 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 31 May 2017 19:59:30 +0200 Subject: RFR: Fix weakref precleaning Message-ID: Weakref precleaning does infact need to do something in the keepalive-closure: - It must update internal refs in j.l.r.Reference instances. I.e. make referent point to to-space - It must mark through the next field for references that are enqueued And therefore the complete_gc closure also needs to process stuff on the marking stack. The patch fixes those issues plus also drains SATB buffers, and adds a ResourceMark for -Xlog:gc+ref logging. http://cr.openjdk.java.net/~rkennke/fixpreclean/webrev.00/ Testing: hotspot_gc_shenandoah and some specjvm From zgu at redhat.com Wed May 31 18:04:01 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 May 2017 14:04:01 -0400 Subject: RFR(S): Ensure collection set and cset map are consistent, and a few cleanup Message-ID: <86cf8598-6b2f-e274-dc61-04cd073a6030@redhat.com> Added collection set/cset fast test verification code, and restricting access to cset fast test map to ensure they are consistent. Also, eliminated unused parameters in ShenandoahPolicy code, plus a few cleanup. We might want to get rid of region cache in collection set. instead, just have collection set to wrap around cset fast test. I will experiment this later. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/cset_cleanup/webrev.00/index.html Thanks, -Zhengyu From shade at redhat.com Wed May 31 18:05:38 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 20:05:38 +0200 Subject: RFR: Fix weakref precleaning In-Reply-To: References: Message-ID: <5fd87199-2397-7263-efe2-3670c5eb3a85@redhat.com> On 05/31/2017 07:59 PM, Roman Kennke wrote: > Weakref precleaning does infact need to do something in the > keepalive-closure: > > - It must update internal refs in j.l.r.Reference instances. I.e. make > referent point to to-space > - It must mark through the next field for references that are enqueued > > And therefore the complete_gc closure also needs to process stuff on the > marking stack. > > The patch fixes those issues plus also drains SATB buffers, and adds a > ResourceMark for -Xlog:gc+ref logging. > > http://cr.openjdk.java.net/~rkennke/fixpreclean/webrev.00/ Thanks for doing this. Comments: *) ShenandoahPrecleanKeepAliveUpdateClosure is not used. Seems like a bug! It should be used on need_update_refs() path, right? *) Can use ReferenceProcessorIsAliveMutator, because RP is not null there *) Double ";" 819 ReferenceProcessor* rp = sh->ref_processor();; *) Misleading comment: 825 true, // do not drain SATBs *) Leftovers: 872 tty->print_cr("need update refs"); ... 880 tty->print_cr("don't need update refs"); Thanks, -Aleksey From shade at redhat.com Wed May 31 18:12:52 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 20:12:52 +0200 Subject: RFR(S): Ensure collection set and cset map are consistent, and a few cleanup In-Reply-To: <86cf8598-6b2f-e274-dc61-04cd073a6030@redhat.com> References: <86cf8598-6b2f-e274-dc61-04cd073a6030@redhat.com> Message-ID: <2b00ea6b-9096-3713-066b-097073003967@redhat.com> On 05/31/2017 08:04 PM, Zhengyu Gu wrote: > Added collection set/cset fast test verification code, and restricting access to > cset fast test map to ensure they are consistent. > > Also, eliminated unused parameters in ShenandoahPolicy code, plus a few cleanup. > > We might want to get rid of region cache in collection set. instead, just have > collection set to wrap around cset fast test. I will experiment this later. > > Webrev: > http://cr.openjdk.java.net/~zgu/shenandoah/cset_cleanup/webrev.00/index.html Excellent, this always disturbed me. *) This looks okay, but chf's partial would trade that "int* connections" parameter for "ShConnMatrix*". I think that leaving this cleanup alone helps chf to not to rebase much: 189 virtual void choose_collection_set(ShenandoahCollectionSet* collection_set, int* connections=NULL); *) Is removal of this branch meaningful? It was supposed to avoid some stores: 228 if (!r->is_root()) { 229 r->set_root(true); 230 } *) I don't think looped partial GC belongs in this change. Split it out? Thanks, -Aleksey From zgu at redhat.com Wed May 31 18:25:42 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 May 2017 14:25:42 -0400 Subject: RFR(S): Ensure collection set and cset map are consistent, and a few cleanup In-Reply-To: <2b00ea6b-9096-3713-066b-097073003967@redhat.com> References: <86cf8598-6b2f-e274-dc61-04cd073a6030@redhat.com> <2b00ea6b-9096-3713-066b-097073003967@redhat.com> Message-ID: <0e8e9ce3-da40-9ed6-d019-b59ca95b333f@redhat.com> On 05/31/2017 02:12 PM, Aleksey Shipilev wrote: > On 05/31/2017 08:04 PM, Zhengyu Gu wrote: >> Added collection set/cset fast test verification code, and restricting access to >> cset fast test map to ensure they are consistent. >> >> Also, eliminated unused parameters in ShenandoahPolicy code, plus a few cleanup. >> >> We might want to get rid of region cache in collection set. instead, just have >> collection set to wrap around cset fast test. I will experiment this later. >> >> Webrev: >> http://cr.openjdk.java.net/~zgu/shenandoah/cset_cleanup/webrev.00/index.html > > Excellent, this always disturbed me. > > *) This looks okay, but chf's partial would trade that "int* connections" > parameter for "ShConnMatrix*". I think that leaving this cleanup alone helps chf > to not to rebase much: > > 189 virtual void choose_collection_set(ShenandoahCollectionSet* > collection_set, int* connections=NULL); > OK, I will revert this. > *) Is removal of this branch meaningful? It was supposed to avoid some stores: > > 228 if (!r->is_root()) { > 229 r->set_root(true); > 230 } Just a bit awkward. Do those stores matter? It is at a safepoint, and you have region in cache anyway. > > *) I don't think looped partial GC belongs in this change. Split it out? > I will split this out. Thanks, -Zhengyu > Thanks, > -Aleksey > From shade at redhat.com Wed May 31 18:27:52 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 20:27:52 +0200 Subject: RFR(S): Ensure collection set and cset map are consistent, and a few cleanup In-Reply-To: <0e8e9ce3-da40-9ed6-d019-b59ca95b333f@redhat.com> References: <86cf8598-6b2f-e274-dc61-04cd073a6030@redhat.com> <2b00ea6b-9096-3713-066b-097073003967@redhat.com> <0e8e9ce3-da40-9ed6-d019-b59ca95b333f@redhat.com> Message-ID: On 05/31/2017 08:25 PM, Zhengyu Gu wrote: >> *) Is removal of this branch meaningful? It was supposed to avoid some stores: >> >> 228 if (!r->is_root()) { >> 229 r->set_root(true); >> 230 } > > Just a bit awkward. Do those stores matter? It is at a safepoint, and you have > region in cache anyway. Yes it does. Trading write for branch is a profitable microoptimization, especially if you are looking into doing Threshold*NumRegions of writes ;) -Aleksey From shade at redhat.com Wed May 31 18:35:32 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 20:35:32 +0200 Subject: RFR: "String/Symbol/CodeCache" -> "Str/Sym, Code Cache" Message-ID: <63a08566-2013-396e-c0df-fbd08b71ee59@redhat.com> This trims down the largest label in our gc+stats, ensuring proper alignment: $ hg diff diff -r 7f114a445de8 src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp --- a/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Wed May 31 19:48:09 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Wed May 31 20:32:15 2017 +0200 @@ -800,7 +800,7 @@ _phase_names[weakrefs_enqueue] = " Enqueue"; _phase_names[purge] = " System Purge"; _phase_names[purge_class_unload] = " Unload Classes"; - _phase_names[purge_tables_cc] = " String/Symbol/CodeCache"; + _phase_names[purge_tables_cc] = " Str/Sym, Code Cache"; _phase_names[purge_cldg] = " CLDG"; _phase_names[prepare_evac] = " Prepare Evacuation"; @@ -873,7 +873,7 @@ _phase_names[full_gc_weakrefs_enqueue] = " Enqueue"; _phase_names[full_gc_purge] = " System Purge"; _phase_names[full_gc_purge_class_unload] = " Unload Classes"; - _phase_names[full_gc_purge_tables_cc] = " String/Symbol/CodeCache"; + _phase_names[full_gc_purge_tables_cc] = " Str/Sym, Code Cache"; _phase_names[full_gc_purge_cldg] = " CLDG"; _phase_names[full_gc_calculate_addresses] = " Calculate Addresses"; _phase_names[full_gc_adjust_pointers] = " Adjust Pointers"; Thanks, -Aleksey From zgu at redhat.com Wed May 31 19:01:03 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 May 2017 15:01:03 -0400 Subject: RFR(S): Ensure collection set and cset map are consistent, and a few cleanup In-Reply-To: References: <86cf8598-6b2f-e274-dc61-04cd073a6030@redhat.com> <2b00ea6b-9096-3713-066b-097073003967@redhat.com> <0e8e9ce3-da40-9ed6-d019-b59ca95b333f@redhat.com> Message-ID: <0f79b302-d286-78a1-843f-ccb799b2f786@redhat.com> Webrev updated: http://cr.openjdk.java.net/~zgu/shenandoah/cset_cleanup/webrev.01/index.html Thanks, -Zhengyu On 05/31/2017 02:27 PM, Aleksey Shipilev wrote: > On 05/31/2017 08:25 PM, Zhengyu Gu wrote: >>> *) Is removal of this branch meaningful? It was supposed to avoid some stores: >>> >>> 228 if (!r->is_root()) { >>> 229 r->set_root(true); >>> 230 } >> >> Just a bit awkward. Do those stores matter? It is at a safepoint, and you have >> region in cache anyway. > > Yes it does. Trading write for branch is a profitable microoptimization, > especially if you are looking into doing Threshold*NumRegions of writes ;) > > -Aleksey > > From rkennke at redhat.com Wed May 31 19:02:10 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 31 May 2017 21:02:10 +0200 Subject: RFR: Fix weakref precleaning In-Reply-To: <5fd87199-2397-7263-efe2-3670c5eb3a85@redhat.com> References: <5fd87199-2397-7263-efe2-3670c5eb3a85@redhat.com> Message-ID: Am 31.05.2017 um 20:05 schrieb Aleksey Shipilev: > On 05/31/2017 07:59 PM, Roman Kennke wrote: >> Weakref precleaning does infact need to do something in the >> keepalive-closure: >> >> - It must update internal refs in j.l.r.Reference instances. I.e. make >> referent point to to-space >> - It must mark through the next field for references that are enqueued >> >> And therefore the complete_gc closure also needs to process stuff on the >> marking stack. >> >> The patch fixes those issues plus also drains SATB buffers, and adds a >> ResourceMark for -Xlog:gc+ref logging. >> >> http://cr.openjdk.java.net/~rkennke/fixpreclean/webrev.00/ > Thanks for doing this. > > Comments: > > *) ShenandoahPrecleanKeepAliveUpdateClosure is not used. Seems like a bug! It > should be used on need_update_refs() path, right? > > *) Can use ReferenceProcessorIsAliveMutator, because RP is not null there > > *) Double ";" > > 819 ReferenceProcessor* rp = sh->ref_processor();; > > *) Misleading comment: > > 825 true, // do not drain SATBs > > *) Leftovers: > > 872 tty->print_cr("need update refs"); > ... > 880 tty->print_cr("don't need update refs"); > Oops. Shouldn't do stuff in a rush. http://cr.openjdk.java.net/~rkennke/fixpreclean/webrev.01/ Ok now? Roman From shade at redhat.com Wed May 31 19:03:15 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 21:03:15 +0200 Subject: RFR(S): Ensure collection set and cset map are consistent, and a few cleanup In-Reply-To: <0f79b302-d286-78a1-843f-ccb799b2f786@redhat.com> References: <86cf8598-6b2f-e274-dc61-04cd073a6030@redhat.com> <2b00ea6b-9096-3713-066b-097073003967@redhat.com> <0e8e9ce3-da40-9ed6-d019-b59ca95b333f@redhat.com> <0f79b302-d286-78a1-843f-ccb799b2f786@redhat.com> Message-ID: <03a1ba78-e943-77d9-5659-d8fa151c185f@redhat.com> On 05/31/2017 09:01 PM, Zhengyu Gu wrote: > Webrev updated: > http://cr.openjdk.java.net/~zgu/shenandoah/cset_cleanup/webrev.01/index.html Looks good to me. -Aleksey From shade at redhat.com Wed May 31 19:08:32 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 21:08:32 +0200 Subject: RFR: Fix weakref precleaning In-Reply-To: References: <5fd87199-2397-7263-efe2-3670c5eb3a85@redhat.com> Message-ID: <6a4edb05-a990-c60c-eb1d-bd89365e837d@redhat.com> On 05/31/2017 09:02 PM, Roman Kennke wrote: > Oops. Shouldn't do stuff in a rush. > http://cr.openjdk.java.net/~rkennke/fixpreclean/webrev.01/ Remaining nits: *) Since you removed the branch that made rp possibly NULL, you can use ReferenceProcessorIsAliveMutator again: 600 ReferenceProcessor* rp = sh->ref_processor();; 601 602 ReferenceProcessorMaybeNullIsAliveMutator fix_alive(rp, ShenandoahHeap::heap()->is_alive_closure()); *) Also notice ";;" above Other than that looks good. -Aleksey From rkennke at redhat.com Wed May 31 19:10:47 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 31 May 2017 21:10:47 +0200 Subject: RFR: Fix weakref precleaning In-Reply-To: <6a4edb05-a990-c60c-eb1d-bd89365e837d@redhat.com> References: <5fd87199-2397-7263-efe2-3670c5eb3a85@redhat.com> <6a4edb05-a990-c60c-eb1d-bd89365e837d@redhat.com> Message-ID: <6f7611db-bc82-c54e-f485-fb34adfe2cd8@redhat.com> Am 31.05.2017 um 21:08 schrieb Aleksey Shipilev: > On 05/31/2017 09:02 PM, Roman Kennke wrote: >> Oops. Shouldn't do stuff in a rush. >> http://cr.openjdk.java.net/~rkennke/fixpreclean/webrev.01/ > Remaining nits: > > *) Since you removed the branch that made rp possibly NULL, you can use > ReferenceProcessorIsAliveMutator again: > > 600 ReferenceProcessor* rp = sh->ref_processor();; > 601 > 602 ReferenceProcessorMaybeNullIsAliveMutator fix_alive(rp, > ShenandoahHeap::heap()->is_alive_closure()); > > *) Also notice ";;" above > > Other than that looks good. Duh. http://cr.openjdk.java.net/~rkennke/fixpreclean/webrev.02/ Roman From shade at redhat.com Wed May 31 19:12:03 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 21:12:03 +0200 Subject: RFR: Fix weakref precleaning In-Reply-To: <6f7611db-bc82-c54e-f485-fb34adfe2cd8@redhat.com> References: <5fd87199-2397-7263-efe2-3670c5eb3a85@redhat.com> <6a4edb05-a990-c60c-eb1d-bd89365e837d@redhat.com> <6f7611db-bc82-c54e-f485-fb34adfe2cd8@redhat.com> Message-ID: <04f0d0e5-5bbf-4f06-ea78-2d0990b2e3b5@redhat.com> On 05/31/2017 09:10 PM, Roman Kennke wrote: > Am 31.05.2017 um 21:08 schrieb Aleksey Shipilev: >> On 05/31/2017 09:02 PM, Roman Kennke wrote: >>> Oops. Shouldn't do stuff in a rush. >>> http://cr.openjdk.java.net/~rkennke/fixpreclean/webrev.01/ >> Remaining nits: >> >> *) Since you removed the branch that made rp possibly NULL, you can use >> ReferenceProcessorIsAliveMutator again: >> >> 600 ReferenceProcessor* rp = sh->ref_processor();; >> 601 >> 602 ReferenceProcessorMaybeNullIsAliveMutator fix_alive(rp, >> ShenandoahHeap::heap()->is_alive_closure()); >> >> *) Also notice ";;" above >> >> Other than that looks good. > > Duh. > > http://cr.openjdk.java.net/~rkennke/fixpreclean/webrev.02/ Yup, go. -Aleksey From roman at kennke.org Wed May 31 19:14:48 2017 From: roman at kennke.org (roman at kennke.org) Date: Wed, 31 May 2017 19:14:48 +0000 Subject: hg: shenandoah/jdk9/hotspot: Fix weakref precleaning Message-ID: <201705311914.v4VJEn8D022138@aojmv0008.oracle.com> Changeset: de1d145d1fc1 Author: rkennke Date: 2017-05-31 21:13 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/de1d145d1fc1 Fix weakref precleaning ! src/share/vm/gc/shenandoah/shenandoahConcurrentMark.cpp From zgu at redhat.com Wed May 31 19:25:18 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 May 2017 15:25:18 -0400 Subject: RFR(XS) Early return results imbalanced time partition Message-ID: <2174c6a8-5f52-21a8-ba59-8d25ef7691e8@redhat.com> Imbalanced time partition results assertion failure in debug build. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/tp_unbalance/webrev.00/ Test: hotspot_gc_shenandoah: fastdebug Thanks, -Zhengyu From shade at redhat.com Wed May 31 19:27:21 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 21:27:21 +0200 Subject: RFR(XS) Early return results imbalanced time partition In-Reply-To: <2174c6a8-5f52-21a8-ba59-8d25ef7691e8@redhat.com> References: <2174c6a8-5f52-21a8-ba59-8d25ef7691e8@redhat.com> Message-ID: On 05/31/2017 09:25 PM, Zhengyu Gu wrote: > Imbalanced time partition results assertion failure in debug build. Can you explain a little more? -Aleksey From zgu at redhat.com Wed May 31 19:30:03 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 May 2017 15:30:03 -0400 Subject: RFR(XS) Early return results imbalanced time partition In-Reply-To: References: <2174c6a8-5f52-21a8-ba59-8d25ef7691e8@redhat.com> Message-ID: <61c33ed5-a139-7c3f-26b5-bba5572e0754@redhat.com> In early return case, calling _heap->gc_timer()->register_gc_end() before GCTraceTime destructor, result an assertion in GCTimer code. -Zhengyu On 05/31/2017 03:27 PM, Aleksey Shipilev wrote: > On 05/31/2017 09:25 PM, Zhengyu Gu wrote: >> Imbalanced time partition results assertion failure in debug build. > > Can you explain a little more? > > -Aleksey > From zgu at redhat.com Wed May 31 19:34:34 2017 From: zgu at redhat.com (zgu at redhat.com) Date: Wed, 31 May 2017 19:34:34 +0000 Subject: hg: shenandoah/jdk9/hotspot: Ensure collection set and cset map are consistent Message-ID: <201705311934.v4VJYY8R000266@aojmv0008.oracle.com> Changeset: 2732d513a136 Author: zgu Date: 2017-05-31 15:32 -0400 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/2732d513a136 Ensure collection set and cset map are consistent ! src/share/vm/gc/shenandoah/shenandoahCollectionSet.cpp ! src/share/vm/gc/shenandoah/shenandoahCollectionSet.hpp ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp ! src/share/vm/gc/shenandoah/shenandoahHeap.hpp ! src/share/vm/gc/shenandoah/shenandoahHeapRegionSet.hpp ! src/share/vm/gc/shenandoah/shenandoahMarkCompact.cpp ! src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp From shade at redhat.com Wed May 31 19:33:43 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 21:33:43 +0200 Subject: RFR(XS) Early return results imbalanced time partition In-Reply-To: <61c33ed5-a139-7c3f-26b5-bba5572e0754@redhat.com> References: <2174c6a8-5f52-21a8-ba59-8d25ef7691e8@redhat.com> <61c33ed5-a139-7c3f-26b5-bba5572e0754@redhat.com> Message-ID: <52d4ad82-1f73-ff5b-7663-66d52071a1ee@redhat.com> Ah! So while loop is meant to be the scope which you can break from. Using goto would be less cryptic, no? diff -r de1d145d1fc1 src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp --- a/src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp Wed May 31 21:13:12 2017 +0200 +++ b/src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp Wed May 31 21:33:19 2017 +0200 @@ -296,8 +296,7 @@ if (!has_work) { reset(); - _heap->gc_timer()->register_gc_end(); - return; + goto end; } policy->record_phase_start(ShenandoahCollectorPolicy::partial_gc_work); @@ -369,6 +368,7 @@ } } + end: _heap->gc_timer()->register_gc_end(); } -Aleksey On 05/31/2017 09:30 PM, Zhengyu Gu wrote: > In early return case, calling _heap->gc_timer()->register_gc_end() before > GCTraceTime destructor, result an assertion in GCTimer code. > > -Zhengyu > > On 05/31/2017 03:27 PM, Aleksey Shipilev wrote: >> On 05/31/2017 09:25 PM, Zhengyu Gu wrote: >>> Imbalanced time partition results assertion failure in debug build. >> >> Can you explain a little more? >> >> -Aleksey >> From zgu at redhat.com Wed May 31 19:36:50 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 May 2017 15:36:50 -0400 Subject: RFR(XS) Early return results imbalanced time partition In-Reply-To: <52d4ad82-1f73-ff5b-7663-66d52071a1ee@redhat.com> References: <2174c6a8-5f52-21a8-ba59-8d25ef7691e8@redhat.com> <61c33ed5-a139-7c3f-26b5-bba5572e0754@redhat.com> <52d4ad82-1f73-ff5b-7663-66d52071a1ee@redhat.com> Message-ID: <7dbc0f16-7100-de4a-33bf-18eb98dc070a@redhat.com> People hates/avoid goto, no? -Zhengyu On 05/31/2017 03:33 PM, Aleksey Shipilev wrote: > Ah! So while loop is meant to be the scope which you can break from. Using goto > would be less cryptic, no? > > diff -r de1d145d1fc1 src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp > --- a/src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp Wed May 31 21:13:12 > 2017 +0200 > +++ b/src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp Wed May 31 21:33:19 > 2017 +0200 > @@ -296,8 +296,7 @@ > > if (!has_work) { > reset(); > - _heap->gc_timer()->register_gc_end(); > - return; > + goto end; > } > > policy->record_phase_start(ShenandoahCollectorPolicy::partial_gc_work); > @@ -369,6 +368,7 @@ > } > } > > + end: > _heap->gc_timer()->register_gc_end(); > } > > > -Aleksey > > On 05/31/2017 09:30 PM, Zhengyu Gu wrote: >> In early return case, calling _heap->gc_timer()->register_gc_end() before >> GCTraceTime destructor, result an assertion in GCTimer code. >> >> -Zhengyu >> >> On 05/31/2017 03:27 PM, Aleksey Shipilev wrote: >>> On 05/31/2017 09:25 PM, Zhengyu Gu wrote: >>>> Imbalanced time partition results assertion failure in debug build. >>> >>> Can you explain a little more? >>> >>> -Aleksey >>> > > From shade at redhat.com Wed May 31 19:38:27 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 21:38:27 +0200 Subject: RFR(XS) Early return results imbalanced time partition In-Reply-To: <7dbc0f16-7100-de4a-33bf-18eb98dc070a@redhat.com> References: <2174c6a8-5f52-21a8-ba59-8d25ef7691e8@redhat.com> <61c33ed5-a139-7c3f-26b5-bba5572e0754@redhat.com> <52d4ad82-1f73-ff5b-7663-66d52071a1ee@redhat.com> <7dbc0f16-7100-de4a-33bf-18eb98dc070a@redhat.com> Message-ID: <507f94a5-6ad4-f7c8-2e6f-b1aebcac0204@redhat.com> Irrationally. Sometimes goto is cleaner than anything else, like in this case. -Aleksey On 05/31/2017 09:36 PM, Zhengyu Gu wrote: > People hates/avoid goto, no? > > -Zhengyu > > On 05/31/2017 03:33 PM, Aleksey Shipilev wrote: >> Ah! So while loop is meant to be the scope which you can break from. Using goto >> would be less cryptic, no? >> >> diff -r de1d145d1fc1 src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp >> --- a/src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp Wed May 31 21:13:12 >> 2017 +0200 >> +++ b/src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp Wed May 31 21:33:19 >> 2017 +0200 >> @@ -296,8 +296,7 @@ >> >> if (!has_work) { >> reset(); >> - _heap->gc_timer()->register_gc_end(); >> - return; >> + goto end; >> } >> >> policy->record_phase_start(ShenandoahCollectorPolicy::partial_gc_work); >> @@ -369,6 +368,7 @@ >> } >> } >> >> + end: >> _heap->gc_timer()->register_gc_end(); >> } >> >> >> -Aleksey >> >> On 05/31/2017 09:30 PM, Zhengyu Gu wrote: >>> In early return case, calling _heap->gc_timer()->register_gc_end() before >>> GCTraceTime destructor, result an assertion in GCTimer code. >>> >>> -Zhengyu >>> >>> On 05/31/2017 03:27 PM, Aleksey Shipilev wrote: >>>> On 05/31/2017 09:25 PM, Zhengyu Gu wrote: >>>>> Imbalanced time partition results assertion failure in debug build. >>>> >>>> Can you explain a little more? >>>> >>>> -Aleksey >>>> >> >> From zgu at redhat.com Wed May 31 19:47:00 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 May 2017 15:47:00 -0400 Subject: RFR: "String/Symbol/CodeCache" -> "Str/Sym, Code Cache" In-Reply-To: <63a08566-2013-396e-c0df-fbd08b71ee59@redhat.com> References: <63a08566-2013-396e-c0df-fbd08b71ee59@redhat.com> Message-ID: Okay -Zhengyu On 05/31/2017 02:35 PM, Aleksey Shipilev wrote: > This trims down the largest label in our gc+stats, ensuring proper alignment: > > $ hg diff > diff -r 7f114a445de8 src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp > --- a/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Wed May 31 > 19:48:09 2017 +0200 > +++ b/src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Wed May 31 > 20:32:15 2017 +0200 > @@ -800,7 +800,7 @@ > _phase_names[weakrefs_enqueue] = " Enqueue"; > _phase_names[purge] = " System Purge"; > _phase_names[purge_class_unload] = " Unload Classes"; > - _phase_names[purge_tables_cc] = " String/Symbol/CodeCache"; > + _phase_names[purge_tables_cc] = " Str/Sym, Code Cache"; > _phase_names[purge_cldg] = " CLDG"; > _phase_names[prepare_evac] = " Prepare Evacuation"; > > @@ -873,7 +873,7 @@ > _phase_names[full_gc_weakrefs_enqueue] = " Enqueue"; > _phase_names[full_gc_purge] = " System Purge"; > _phase_names[full_gc_purge_class_unload] = " Unload Classes"; > - _phase_names[full_gc_purge_tables_cc] = " String/Symbol/CodeCache"; > + _phase_names[full_gc_purge_tables_cc] = " Str/Sym, Code Cache"; > _phase_names[full_gc_purge_cldg] = " CLDG"; > _phase_names[full_gc_calculate_addresses] = " Calculate Addresses"; > _phase_names[full_gc_adjust_pointers] = " Adjust Pointers"; > > > > Thanks, > -Aleksey > > From shade at redhat.com Wed May 31 19:53:57 2017 From: shade at redhat.com (Aleksey Shipilev) Date: Wed, 31 May 2017 21:53:57 +0200 Subject: RFR: Rehash ShenandoahHeap section in hs_err Message-ID: <7a3b6c2b-e76e-ae8f-b9aa-07e21b4b8308@redhat.com> Turns out, recent heap region formatting change omitted printing out the header ShenandoahHeap data in hs_err. Fixed that, plus added a few more missing things: http://cr.openjdk.java.net/~shade/shenandoah/hserr-printout/webrev.01/ Sample hs_err: http://cr.openjdk.java.net/~shade/shenandoah/hserr-printout/hs_err_pid4475.log Thanks, -Aleksey From zgu at redhat.com Wed May 31 19:57:07 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 May 2017 15:57:07 -0400 Subject: RFR: Rehash ShenandoahHeap section in hs_err In-Reply-To: <7a3b6c2b-e76e-ae8f-b9aa-07e21b4b8308@redhat.com> References: <7a3b6c2b-e76e-ae8f-b9aa-07e21b4b8308@redhat.com> Message-ID: <9d0c7114-8cff-1ae3-4607-39006675ae30@redhat.com> okay -Zhengyu On 05/31/2017 03:53 PM, Aleksey Shipilev wrote: > Turns out, recent heap region formatting change omitted printing out the header > ShenandoahHeap data in hs_err. Fixed that, plus added a few more missing things: > http://cr.openjdk.java.net/~shade/shenandoah/hserr-printout/webrev.01/ > > Sample hs_err: > http://cr.openjdk.java.net/~shade/shenandoah/hserr-printout/hs_err_pid4475.log > > Thanks, > -Aleksey > From ashipile at redhat.com Wed May 31 20:04:18 2017 From: ashipile at redhat.com (ashipile at redhat.com) Date: Wed, 31 May 2017 20:04:18 +0000 Subject: hg: shenandoah/jdk9/hotspot: 2 new changesets Message-ID: <201705312004.v4VK4InI011924@aojmv0008.oracle.com> Changeset: 1d12c549a5ff Author: shade Date: 2017-05-31 21:48 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/1d12c549a5ff "String/Symbol/CodeCache" -> "Str/Sym, Code Cache" ! src/share/vm/gc/shenandoah/shenandoahCollectorPolicy.cpp Changeset: 1b6d33c71e07 Author: shade Date: 2017-05-31 21:59 +0200 URL: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/1b6d33c71e07 Rehash ShenandoahHeap section in hs_err ! src/share/vm/gc/shenandoah/shenandoahHeap.cpp From rkennke at redhat.com Wed May 31 20:30:01 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 31 May 2017 22:30:01 +0200 Subject: RFR: Safepooint suspendible worker threads Message-ID: <2e8114a3-59c4-5042-738c-28cd92eff3e6@redhat.com> Currently, our GC workers are unaffected by (non-GC) safepoints: they happily carry on working their stuff. This is usually not a problem. However, lately we found that concurrent code cache marking sometimes barfs between the nmethod marking/sweeping sometimes steps in between (during a non-GC safepoint). Also, heapdump seems to rely on the heap holding still (naturally). We don't really know what other VM_Ops might depend on the heap/GC holding still and the general assumption is that nothing moves at a safepoint except the VMThread and the workers it spawns. This change makes Shenandoah's GC worker threads suspend at safepoints. It uses G1's (not G1-specific) SuspendibleThreadSet. It requires some extra magic to coordinate with full-gc. Specifically, when we check for cancelled heap, we must not yield when being cancelled. In order to do so, we first CAS _cancelled_gc to NOT_CANCELLED (prevents cancelling threads to bump it to CANCELLED while we yield()), then yield() (check for safepoint and suspend). I spared making ShenandoahConcurrentThread to take part in this dance. I'll probably add that later, however it seems not important (and will require some additional complicated co-ordination). It's enabled by -XX:+ShenandoahSuspendibleWorkers and off by default. Works like a charm for me on or off. We should check if/how it affects performance. Testing: hotspot_gc_shenandoah and specjvm http://cr.openjdk.java.net/~rkennke/suspendibleworkers/webrev.00/ Roman From rkennke at redhat.com Wed May 31 20:41:48 2017 From: rkennke at redhat.com (Roman Kennke) Date: Wed, 31 May 2017 22:41:48 +0200 Subject: RFR: Safepooint suspendible worker threads In-Reply-To: <2e8114a3-59c4-5042-738c-28cd92eff3e6@redhat.com> References: <2e8114a3-59c4-5042-738c-28cd92eff3e6@redhat.com> Message-ID: <40472237-ee91-7631-5281-415a9f0ab2ec@redhat.com> Am 31.05.2017 um 22:30 schrieb Roman Kennke: > Currently, our GC workers are unaffected by (non-GC) safepoints: they > happily carry on working their stuff. This is usually not a problem. > However, lately we found that concurrent code cache marking sometimes > barfs between the nmethod marking/sweeping sometimes steps in between > (during a non-GC safepoint). Also, heapdump seems to rely on the heap > holding still (naturally). We don't really know what other VM_Ops might > depend on the heap/GC holding still and the general assumption is that > nothing moves at a safepoint except the VMThread and the workers it spawns. > > This change makes Shenandoah's GC worker threads suspend at safepoints. > > It uses G1's (not G1-specific) SuspendibleThreadSet. > > It requires some extra magic to coordinate with full-gc. Specifically, > when we check for cancelled heap, we must not yield when being > cancelled. In order to do so, we first CAS _cancelled_gc to > NOT_CANCELLED (prevents cancelling threads to bump it to CANCELLED while > we yield()), then yield() (check for safepoint and suspend). > > I spared making ShenandoahConcurrentThread to take part in this dance. > I'll probably add that later, however it seems not important (and will > require some additional complicated co-ordination). > > It's enabled by -XX:+ShenandoahSuspendibleWorkers and off by default. > Works like a charm for me on or off. We should check if/how it affects > performance. > > Testing: hotspot_gc_shenandoah and specjvm > > http://cr.openjdk.java.net/~rkennke/suspendibleworkers/webrev.00/ > > > Roman > Need to suspend (no pun!!) this RFR. Found a deadlock. Roman From zgu at redhat.com Wed May 31 21:05:04 2017 From: zgu at redhat.com (Zhengyu Gu) Date: Wed, 31 May 2017 17:05:04 -0400 Subject: RFR(XS) Early return results imbalanced time partition In-Reply-To: <507f94a5-6ad4-f7c8-2e6f-b1aebcac0204@redhat.com> References: <2174c6a8-5f52-21a8-ba59-8d25ef7691e8@redhat.com> <61c33ed5-a139-7c3f-26b5-bba5572e0754@redhat.com> <52d4ad82-1f73-ff5b-7663-66d52071a1ee@redhat.com> <7dbc0f16-7100-de4a-33bf-18eb98dc070a@redhat.com> <507f94a5-6ad4-f7c8-2e6f-b1aebcac0204@redhat.com> Message-ID: Okay, then: http://cr.openjdk.java.net/~zgu/shenandoah/tp_unbalance/webrev.01/ -Zhengyu On 05/31/2017 03:38 PM, Aleksey Shipilev wrote: > Irrationally. Sometimes goto is cleaner than anything else, like in this case. > > -Aleksey > > On 05/31/2017 09:36 PM, Zhengyu Gu wrote: >> People hates/avoid goto, no? >> >> -Zhengyu >> >> On 05/31/2017 03:33 PM, Aleksey Shipilev wrote: >>> Ah! So while loop is meant to be the scope which you can break from. Using goto >>> would be less cryptic, no? >>> >>> diff -r de1d145d1fc1 src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp >>> --- a/src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp Wed May 31 21:13:12 >>> 2017 +0200 >>> +++ b/src/share/vm/gc/shenandoah/shenandoahPartialGC.cpp Wed May 31 21:33:19 >>> 2017 +0200 >>> @@ -296,8 +296,7 @@ >>> >>> if (!has_work) { >>> reset(); >>> - _heap->gc_timer()->register_gc_end(); >>> - return; >>> + goto end; >>> } >>> >>> policy->record_phase_start(ShenandoahCollectorPolicy::partial_gc_work); >>> @@ -369,6 +368,7 @@ >>> } >>> } >>> >>> + end: >>> _heap->gc_timer()->register_gc_end(); >>> } >>> >>> >>> -Aleksey >>> >>> On 05/31/2017 09:30 PM, Zhengyu Gu wrote: >>>> In early return case, calling _heap->gc_timer()->register_gc_end() before >>>> GCTraceTime destructor, result an assertion in GCTimer code. >>>> >>>> -Zhengyu >>>> >>>> On 05/31/2017 03:27 PM, Aleksey Shipilev wrote: >>>>> On 05/31/2017 09:25 PM, Zhengyu Gu wrote: >>>>>> Imbalanced time partition results assertion failure in debug build. >>>>> >>>>> Can you explain a little more? >>>>> >>>>> -Aleksey >>>>> >>> >>> > > From mart.magi at outlook.com Wed May 10 15:37:50 2017 From: mart.magi at outlook.com (=?iso-8859-1?Q?Mart_M=E4gi?=) Date: Wed, 10 May 2017 15:37:50 -0000 Subject: Shenandoah general availability release Message-ID: Hello, When will Shenandoah be released to general availability? Thanks in advance, Mart M?gi