diff src/cpu/x86/vm/interpreter_x86_64.cpp @ 6084:6759698e3140

7133857: exp() and pow() should use the x87 ISA on x86 Summary: use x87 instructions to implement exp() and pow() in interpreter/c1/c2. Reviewed-by: kvn, never, twisti
author roland
date Tue, 15 May 2012 10:10:23 +0200
parents 3d2ab563047a
children 1d7922586cf6
line wrap: on
line diff
--- a/src/cpu/x86/vm/interpreter_x86_64.cpp	Mon May 14 09:36:00 2012 -0700
+++ b/src/cpu/x86/vm/interpreter_x86_64.cpp	Tue May 15 10:10:23 2012 +0200
@@ -271,6 +271,14 @@
       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;
+      case Interpreter::java_lang_math_exp:
+          __ exp_with_fallback(0);
+           break;
       default                              :
           ShouldNotReachHere();
     }