Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-10 Thread Erik Joelsson
Looks good. This seems to cover all relevant situations. /Erik On 2017-10-06 11:04, Magnus Ihse Bursie wrote: On 2017-10-05 18:08, Ioi Lam wrote: On 10/5/17 2:35 AM, Magnus Ihse Bursie wrote: On 2017-10-05 11:07, Claes Redestad wrote: On 2017-10-05 10:59, Magnus Ihse Bursie wrote: How

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-06 Thread Ioi Lam
On 10/6/17 2:04 AM, Magnus Ihse Bursie wrote: On 2017-10-05 18:08, Ioi Lam wrote: On 10/5/17 2:35 AM, Magnus Ihse Bursie wrote: On 2017-10-05 11:07, Claes Redestad wrote: On 2017-10-05 10:59, Magnus Ihse Bursie wrote: How often is -Xbootclasspath/p used? Why not use "-XX:-VerifyShared

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-06 Thread Magnus Ihse Bursie
On 2017-10-05 18:08, Ioi Lam wrote: On 10/5/17 2:35 AM, Magnus Ihse Bursie wrote: On 2017-10-05 11:07, Claes Redestad wrote: On 2017-10-05 10:59, Magnus Ihse Bursie wrote: How often is -Xbootclasspath/p used? Why not use "-XX:-VerifySharedSpaces -XX:SharedArchiveFile=local.jsa -Xshare:a

Re: Boot JDK version; was Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-06 Thread Erik Joelsson
Hello, Indeed it does. I would say we should do it sooner rather than later. There are other issues coming up that relies on this switch as well so I will likely get a patch out in the near future. /Erik On 2017-10-05 18:15, Jonathan Gibbons wrote: This thread brings up the question ... whe

Boot JDK version; was Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-05 Thread Jonathan Gibbons
This thread brings up the question ... when are we going to switch to JDK 9 as the required boot JDK? Is there any compelling reason to -not- upgrade yet? -- Jon On 10/3/17 1:37 PM, Magnus Ihse Bursie wrote: It might be the case that we should not really continue with this as long as we hav

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-05 Thread Ioi Lam
On 10/5/17 2:35 AM, Magnus Ihse Bursie wrote: On 2017-10-05 11:07, Claes Redestad wrote: On 2017-10-05 10:59, Magnus Ihse Bursie wrote: How often is -Xbootclasspath/p used? Why not use "-XX:-VerifySharedSpaces -XX:SharedArchiveFile=local.jsa -Xshare:auto"? That way you will have the star

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-05 Thread Claes Redestad
On 2017-10-05 11:35, Magnus Ihse Bursie wrote: Using -Xshare:auto should mean any case where a CDS archive can't be used (for whatever reason) should be silently ignored.  I'd be more worried if -Xshare:on didn't fail in this case! But we're actively disabling verification of the CDS archive

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-05 Thread Magnus Ihse Bursie
On 2017-10-05 11:07, Claes Redestad wrote: On 2017-10-05 10:59, Magnus Ihse Bursie wrote: How often is -Xbootclasspath/p used? Why not use "-XX:-VerifySharedSpaces -XX:SharedArchiveFile=local.jsa -Xshare:auto"? That way you will have the start-up benefit if possible. My worry here is that

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-05 Thread Claes Redestad
On 2017-10-05 10:59, Magnus Ihse Bursie wrote: How often is -Xbootclasspath/p used? Why not use "-XX:-VerifySharedSpaces -XX:SharedArchiveFile=local.jsa -Xshare:auto"? That way you will have the start-up benefit if possible. My worry here is that -Xshare:auto will not work correctly if -Xb

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-05 Thread Magnus Ihse Bursie
On 2017-10-04 16:43, Ioi Lam wrote: On 10/4/17 2:01 AM, Magnus Ihse Bursie wrote: On 2017-10-04 10:47, Magnus Ihse Bursie wrote: On 2017-10-04 02:36, Ioi Lam wrote: If you use SharedArchiveFile, you should set -XX:-VerifySharedSpaces at the same time. Long story short -- for security, we

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-04 Thread Ioi Lam
On 10/4/17 2:01 AM, Magnus Ihse Bursie wrote: On 2017-10-04 10:47, Magnus Ihse Bursie wrote: On 2017-10-04 02:36, Ioi Lam wrote: If you use SharedArchiveFile, you should set -XX:-VerifySharedSpaces at the same time. Long story short -- for security, we don't want bad archives to be mapped

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-04 Thread Magnus Ihse Bursie
On 2017-10-04 10:47, Magnus Ihse Bursie wrote: On 2017-10-04 02:36, Ioi Lam wrote: If you use SharedArchiveFile, you should set -XX:-VerifySharedSpaces at the same time. Long story short -- for security, we don't want bad archives to be mapped into the JVM. If you don't specify SharedArchi

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-04 Thread Magnus Ihse Bursie
On 2017-10-04 02:36, Ioi Lam wrote: If you use SharedArchiveFile, you should set -XX:-VerifySharedSpaces at the same time. Long story short -- for security, we don't want bad archives to be mapped into the JVM. If you don't specify SharedArchiveFile, the archive is loaded form the JDK inst

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-03 Thread Ioi Lam
If you use SharedArchiveFile, you should set -XX:-VerifySharedSpaces at the same time. Long story short -- for security, we don't want bad archives to be mapped into the JVM. If you don't specify SharedArchiveFile, the archive is loaded form the JDK installation directory, and we trust that

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-03 Thread Magnus Ihse Bursie
It might be the case that we should not really continue with this as long as we have JDK 8 as default boot jdk. If so, we should at least add a -Xshare:auto, which will allow the user to manually add a system-wide CDS archive to their boot jdk, and benefit from it. And then we'll revisit thi

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-03 Thread David Holmes
Hi Erik, You might need to verify that CDS was actually used - the -Xshare:auto will hide failures. Switch to -Xshare:on to see if it actually works. I haven't tried measuring anything. David On 4/10/2017 12:45 AM, Erik Joelsson wrote: The change looks good, but unfortunately I don't see a l

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-03 Thread Erik Joelsson
The change looks good, but unfortunately I don't see a lot of gain. First of all it seems the -XX:SharedArchiveFile option removes a lot of the performance gain. Here are some rough numbers from my machine. All of them are "time make images" with a clean build directory, on a 16 core/32 threads

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-03 Thread David Holmes
Looks good to me. Thanks, David On 3/10/2017 10:47 PM, Magnus Ihse Bursie wrote: On 2017-10-03 14:21, David Holmes wrote: Erik J. raises a good point in the bug report that -XX:SharedArchiveFile=xxx should be used if we create the archive. The build system has no business creating an archive

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-03 Thread Magnus Ihse Bursie
On 2017-10-03 14:21, David Holmes wrote: Erik J. raises a good point in the bug report that -XX:SharedArchiveFile=xxx should be used if we create the archive. The build system has no business creating an archive inside the boot JDK. Agree, that is a better solution. I was not aware of the -XX

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-03 Thread David Holmes
Erik J. raises a good point in the bug report that -XX:SharedArchiveFile=xxx should be used if we create the archive. The build system has no business creating an archive inside the boot JDK. David On 3/10/2017 9:02 PM, David Holmes wrote: Hi Claes, On 3/10/2017 8:48 PM, Claes Redestad wrote

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-03 Thread David Holmes
Hi Claes, On 3/10/2017 8:48 PM, Claes Redestad wrote: Hi, -Xshare:auto silently ignores failures to map the shared archive and should be safe to use. I think you're thinking of -Xshare:on which will fail/abort the VM if mapping fails. Ah okay. In that case seems reasonable. But please test

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-03 Thread Claes Redestad
Hi, -Xshare:auto silently ignores failures to map the shared archive and should be safe to use. I think you're thinking of -Xshare:on which will fail/abort the VM if mapping fails. /Claes On 2017-10-03 12:28, David Holmes wrote: Hi Magnus, As I just put in the bug report, it isn't quite t

Re: RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-03 Thread David Holmes
Hi Magnus, As I just put in the bug report, it isn't quite this simple. You have to be able to tolerate/recover from failure to map the shared archive. Cheers, David On 3/10/2017 8:24 PM, Magnus Ihse Bursie wrote: We should use CDS to minimize Java startup time during build. We run multiple

RFR: JDK-8188312 Use CDS if present when running the Boot JDK during build

2017-10-03 Thread Magnus Ihse Bursie
We should use CDS to minimize Java startup time during build. We run multiple Java commands, and every second counts. On my machine, I get a ~3% build time speedup with this fix. Bug: https://bugs.openjdk.java.net/browse/JDK-8188312 WebRev: http://cr.openjdk.java.net/~ihse/JDK-8188312-use-CDS-