253 __ movdbl(xmm0, Address(rsp, wordSize)); |
253 __ movdbl(xmm0, Address(rsp, wordSize)); |
254 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::dexp()))); |
254 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::dexp()))); |
255 } else if (kind == Interpreter::java_lang_math_log) { |
255 } else if (kind == Interpreter::java_lang_math_log) { |
256 __ movdbl(xmm0, Address(rsp, wordSize)); |
256 __ movdbl(xmm0, Address(rsp, wordSize)); |
257 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::dlog()))); |
257 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::dlog()))); |
|
258 } else if (kind == Interpreter::java_lang_math_pow) { |
|
259 __ movdbl(xmm1, Address(rsp, wordSize)); |
|
260 __ movdbl(xmm0, Address(rsp, 3 * wordSize)); |
|
261 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::dpow()))); |
258 } else { |
262 } else { |
259 __ fld_d(Address(rsp, wordSize)); |
263 __ fld_d(Address(rsp, wordSize)); |
260 switch (kind) { |
264 switch (kind) { |
261 case Interpreter::java_lang_math_sin : |
265 case Interpreter::java_lang_math_sin : |
262 __ trigfunc('s'); |
266 __ trigfunc('s'); |