Hi Erik, Jesper,
On 6/06/2018 2:59 AM, jesper.wilhelms...@oracle.com wrote:
On 5 Jun 2018, at 08:10, David Holmes <david.hol...@oracle.com> wrote:
Sorry to be late to this party ...
On 5/06/2018 6:10 AM, Erik Joelsson wrote:
New webrev: http://cr.openjdk.java.net/~erikj/8202384/webrev.02/
Renamed the new jvm variant to "hardened".
As it is a hardened server build I'd prefer if that were somehow reflected in
the name. Though really I don't see why this should be restricted this way ...
to be honest I don't see hardened as a variant of server vs. client vs. zero
etc at all, you should be able to harden any of those.
So IIUC with this change we will:
- always build JDK native code "hardened" (if toolchain supports it)
- only build hotspot "hardened" if requested; and in that case
- jvm.cfg will list -server and -hardened with server as default
Is that right? I can see that we may choose to always build Oracle JDK this way
but it isn't clear to me that its suitable for OpenJDK. Nor why hotspot is
selectable but JDK is not. ??
Sorry for the lack of information here. There has been a lot of off-list
discussions behind this change, I've added the background to the bug now.
The short version is that we see a ~25% regression in startup times if the JVM
is compiled with the gcc flags to avoid speculative execution. We have not
observed any performance regressions due to compiling the rest of the native
libraries with these gcc flags, so there doesn't seem to be any reason to have
different versions of other libraries.
So "benevolent dictatorship"? ;-)
My main concern is that the updated toolchains that support this have
all been produced in a mad rush and quite frankly I expect them to be
buggy. I don't think it is hard to enable the builder of OpenJDK to have
full choice and control here.
Cheers,
David
/Jesper
Sorry.
David
-----
/Erik
On 2018-06-04 09:54, jesper.wilhelms...@oracle.com wrote:
On 4 Jun 2018, at 17:52, Erik Joelsson <erik.joels...@oracle.com> wrote:
Hello,
On 2018-06-01 14:00, Aleksey Shipilev wrote:
On 06/01/2018 10:53 PM, Erik Joelsson wrote:
This patch defines flags for disabling speculative execution for GCC and Visual
Studio and applies
them to all binaries except libjvm when available in the compiler. It defines a
new jvm feature
no-speculative-cti, which is used to control whether to use the flags for
libjvm. It also defines a
new jvm variant "altserver" which is the same as server, but with this new
feature added.
I think the classic name for such product configuration is "hardened", no?
I don't know. I'm open to suggestions on naming.
"hardened" sounds good to me.
The change looks good as well.
/Jesper
/Erik
-Aleksey