src/cpu/x86/vm/interpreter_x86_32.cpp

changeset 3787
6759698e3140
parent 2901
3d2ab563047a
child 3969
1d7922586cf6
     1.1 --- a/src/cpu/x86/vm/interpreter_x86_32.cpp	Mon May 14 09:36:00 2012 -0700
     1.2 +++ b/src/cpu/x86/vm/interpreter_x86_32.cpp	Tue May 15 10:10:23 2012 +0200
     1.3 @@ -181,6 +181,19 @@
     1.4          __ push_fTOS();
     1.5          __ pop_fTOS();
     1.6          break;
     1.7 +    case Interpreter::java_lang_math_pow:
     1.8 +      __ fld_d(Address(rsp, 3*wordSize)); // second argument
     1.9 +      __ pow_with_fallback(0);
    1.10 +      // Store to stack to convert 80bit precision back to 64bits
    1.11 +      __ push_fTOS();
    1.12 +      __ pop_fTOS();
    1.13 +      break;
    1.14 +    case Interpreter::java_lang_math_exp:
    1.15 +      __ exp_with_fallback(0);
    1.16 +      // Store to stack to convert 80bit precision back to 64bits
    1.17 +      __ push_fTOS();
    1.18 +      __ pop_fTOS();
    1.19 +      break;
    1.20      default                              :
    1.21          ShouldNotReachHere();
    1.22    }

mercurial