8181785: Remove the experimental ClearFPUAtPark JVM Flag
Summary: Removing the experimental and unstable ClearFPUAtPark optimization for SPARC
Reviewed-by: kbarrett, tschatzl, rehn
--- a/hotspot/src/os/solaris/vm/os_share_solaris.hpp Wed Jun 14 01:30:11 2017 -0700
+++ b/hotspot/src/os/solaris/vm/os_share_solaris.hpp Wed Jun 14 08:47:27 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -37,14 +37,6 @@
void continue_with_dump(void);
#endif
-#if defined(__sparc) && defined(COMPILER2)
-// For Sun Studio compiler implementation is in file
-// src/os_cpu/solaris_sparc/vm/solaris_sparc.il
-// For gcc implementation is in file
-// src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp
-extern "C" void _mark_fpu_nosave() ;
-#endif
-
#define PROCFILE_LENGTH 128
#endif // OS_SOLARIS_VM_OS_SHARE_SOLARIS_HPP
--- a/hotspot/src/os/solaris/vm/os_solaris.cpp Wed Jun 14 01:30:11 2017 -0700
+++ b/hotspot/src/os/solaris/vm/os_solaris.cpp Wed Jun 14 08:47:27 2017 +0200
@@ -5103,11 +5103,6 @@
if (v == 0) {
// Do this the hard way by blocking ...
// See http://monaco.sfbay/detail.jsf?cr=5094058.
- // TODO-FIXME: for Solaris SPARC set fprs.FEF=0 prior to parking.
- // Only for SPARC >= V8PlusA
-#if defined(__sparc) && defined(COMPILER2)
- if (ClearFPUAtPark) { _mark_fpu_nosave(); }
-#endif
int status = os::Solaris::mutex_lock(_mutex);
assert_status(status == 0, status, "mutex_lock");
guarantee(_nParked == 0, "invariant");
@@ -5150,11 +5145,6 @@
compute_abstime(&abst, millis);
// See http://monaco.sfbay/detail.jsf?cr=5094058.
- // For Solaris SPARC set fprs.FEF=0 prior to parking.
- // Only for SPARC >= V8PlusA
-#if defined(__sparc) && defined(COMPILER2)
- if (ClearFPUAtPark) { _mark_fpu_nosave(); }
-#endif
int status = os::Solaris::mutex_lock(_mutex);
assert_status(status == 0, status, "mutex_lock");
guarantee(_nParked == 0, "invariant");
@@ -5347,12 +5337,6 @@
// Do this the hard way by blocking ...
// See http://monaco.sfbay/detail.jsf?cr=5094058.
- // TODO-FIXME: for Solaris SPARC set fprs.FEF=0 prior to parking.
- // Only for SPARC >= V8PlusA
-#if defined(__sparc) && defined(COMPILER2)
- if (ClearFPUAtPark) { _mark_fpu_nosave(); }
-#endif
-
if (time == 0) {
status = os::Solaris::cond_wait(_cond, _mutex);
} else {
--- a/hotspot/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp Wed Jun 14 01:30:11 2017 -0700
+++ b/hotspot/src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp Wed Jun 14 08:47:27 2017 +0200
@@ -725,14 +725,6 @@
// Nothing needed on Sparc.
}
-#if defined(__sparc) && defined(COMPILER2) && defined(_GNU_SOURCE)
- // See file build/solaris/makefiles/$compiler.make
- // For compiler1 the architecture is v8 and frps isn't present in v8
- extern "C" void _mark_fpu_nosave() {
- __asm__ __volatile__ ("wr %%g0, 0, %%fprs \n\t" : : :);
- }
-#endif //defined(__sparc) && defined(COMPILER2)
-
#ifndef PRODUCT
void os::verify_stack_alignment() {
}
--- a/hotspot/src/os_cpu/solaris_sparc/vm/solaris_sparc.il Wed Jun 14 01:30:11 2017 -0700
+++ b/hotspot/src/os_cpu/solaris_sparc/vm/solaris_sparc.il Wed Jun 14 08:47:27 2017 +0200
@@ -1,5 +1,5 @@
//
-// Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+// Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
//
// This code is free software; you can redistribute it and/or modify it
@@ -32,17 +32,6 @@
.end
- // Clear SPARC fprs.FEF DU and DL bits --
- // allows the kernel to avoid saving FPU state at context-switch time.
- // Use for state-transition points (into _thread_blocked) or when
- // parking.
-
- .inline _mark_fpu_nosave, 0
- .volatile
- wr %g0, 0, %fprs
- .nonvolatile
- .end
-
// Support for jint Atomic::xchg(jint exchange_value, volatile jint* dest).
//
// Arguments:
--- a/hotspot/src/share/vm/runtime/globals.hpp Wed Jun 14 01:30:11 2017 -0700
+++ b/hotspot/src/share/vm/runtime/globals.hpp Wed Jun 14 08:47:27 2017 +0200
@@ -1191,8 +1191,6 @@
\
diagnostic(bool, InlineNotify, true, "intrinsify subset of notify") \
\
- experimental(intx, ClearFPUAtPark, 0, "(Unsafe, Unstable)") \
- \
experimental(intx, hashCode, 5, \
"(Unstable) select hashCode generation algorithm") \
\