--- old/src/cpu/x86/vm/interpreter_x86_64.cpp 2015-09-15 18:22:44.576794700 -0700 +++ new/src/cpu/x86/vm/interpreter_x86_64.cpp 2015-09-15 18:22:44.344841100 -0700 @@ -252,6 +252,9 @@ if (kind == Interpreter::java_lang_math_sqrt) { __ sqrtsd(xmm0, Address(rsp, wordSize)); + } else if (kind == Interpreter::java_lang_math_exp) { + __ movdbl(xmm0, Address(rsp, wordSize)); + __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::dexp()))); } else { __ fld_d(Address(rsp, wordSize)); switch (kind) { @@ -278,9 +281,6 @@ // empty stack slot) __ pow_with_fallback(0); break; - case Interpreter::java_lang_math_exp: - __ exp_with_fallback(0); - break; default : ShouldNotReachHere(); }