hotspot/src/cpu/x86/vm/templateInterpreterGenerator_x86_64.cpp
changeset 35495 e27da438fa13
parent 35479 62c12ca7a45e
child 38018 1dc6c6f21231
--- 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();
     }