--- a/hotspot/src/cpu/x86/vm/templateInterpreterGenerator_x86_64.cpp Thu Jan 14 13:26:19 2016 +0100
+++ b/hotspot/src/cpu/x86/vm/templateInterpreterGenerator_x86_64.cpp Thu Jan 14 17:36:29 2016 +0100
@@ -377,6 +377,10 @@
} else if (kind == Interpreter::java_lang_math_log) {
__ movdbl(xmm0, Address(rsp, wordSize));
__ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::dlog())));
+ } else if (kind == Interpreter::java_lang_math_pow) {
+ __ movdbl(xmm1, Address(rsp, wordSize));
+ __ movdbl(xmm0, Address(rsp, 3 * wordSize));
+ __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::dpow())));
} else {
__ fld_d(Address(rsp, wordSize));
switch (kind) {
@@ -395,11 +399,6 @@
case Interpreter::java_lang_math_log10:
__ flog10();
break;
- case Interpreter::java_lang_math_pow:
- __ fld_d(Address(rsp, 3*wordSize)); // second argument (one
- // empty stack slot)
- __ pow_with_fallback(0);
- break;
default :
ShouldNotReachHere();
}