hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp
changeset 35146 9ebfec283f56
parent 34651 07b1cc0f6040
child 35232 76aed99c0ddd
child 35540 e001ad24dcdb
--- 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();
     }