aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/runtime/stubRoutines.hpp
diff options
context:
space:
mode:
authornever <none@none>2010-08-27 17:33:49 -0700
committernever <none@none>2010-08-27 17:33:49 -0700
commitc09f7aa53a3a26e1fdac66da83484f5e7ba64193 (patch)
treefb9f18f98c01df3962c28dbc30ff64ac8550ed41 /src/share/vm/runtime/stubRoutines.hpp
parent9a2b4a3bbb32f23638703abd299b638b912ad82e (diff)
downloadjdk8u_hotspot-c09f7aa53a3a26e1fdac66da83484f5e7ba64193.tar.gz
4809552: Optimize Arrays.fill(...)
Reviewed-by: kvn
Diffstat (limited to 'src/share/vm/runtime/stubRoutines.hpp')
-rw-r--r--src/share/vm/runtime/stubRoutines.hpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/share/vm/runtime/stubRoutines.hpp b/src/share/vm/runtime/stubRoutines.hpp
index f09d5ae1b..6b51e316b 100644
--- a/src/share/vm/runtime/stubRoutines.hpp
+++ b/src/share/vm/runtime/stubRoutines.hpp
@@ -148,6 +148,13 @@ class StubRoutines: AllStatic {
static address _unsafe_arraycopy;
static address _generic_arraycopy;
+ static address _jbyte_fill;
+ static address _jshort_fill;
+ static address _jint_fill;
+ static address _arrayof_jbyte_fill;
+ static address _arrayof_jshort_fill;
+ static address _arrayof_jint_fill;
+
// These are versions of the java.lang.Math methods which perform
// the same operations as the intrinsic version. They are used for
// constant folding in the compiler to ensure equivalence. If the
@@ -259,6 +266,16 @@ class StubRoutines: AllStatic {
static address unsafe_arraycopy() { return _unsafe_arraycopy; }
static address generic_arraycopy() { return _generic_arraycopy; }
+ static address jbyte_fill() { return _jbyte_fill; }
+ static address jshort_fill() { return _jshort_fill; }
+ static address jint_fill() { return _jint_fill; }
+ static address arrayof_jbyte_fill() { return _arrayof_jbyte_fill; }
+ static address arrayof_jshort_fill() { return _arrayof_jshort_fill; }
+ static address arrayof_jint_fill() { return _arrayof_jint_fill; }
+
+ static address select_fill_function(BasicType t, bool aligned, const char* &name);
+
+
static double intrinsic_log(double d) {
assert(_intrinsic_log != NULL, "must be defined");
return _intrinsic_log(d);