--- a/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp Wed Dec 23 16:24:19 2015 -0800
+++ b/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp Wed Dec 23 21:09:50 2015 -0800
@@ -255,6 +255,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) {
@@ -273,11 +277,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();
}