equal
deleted
inserted
replaced
376 __ push_fTOS(); |
376 __ push_fTOS(); |
377 __ pop_fTOS(); |
377 __ pop_fTOS(); |
378 break; |
378 break; |
379 case Interpreter::java_lang_math_pow: |
379 case Interpreter::java_lang_math_pow: |
380 __ fld_d(Address(rsp, 3*wordSize)); // second argument |
380 __ fld_d(Address(rsp, 3*wordSize)); // second argument |
381 __ pow_with_fallback(0); |
381 __ subptr(rsp, 4 * wordSize); |
382 // Store to stack to convert 80bit precision back to 64bits |
382 __ fstp_d(Address(rsp, 0)); |
383 __ push_fTOS(); |
383 __ fstp_d(Address(rsp, 2 * wordSize)); |
384 __ pop_fTOS(); |
384 if (VM_Version::supports_sse2()) { |
|
385 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::dpow()))); |
|
386 } else { |
|
387 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, SharedRuntime::dpow))); |
|
388 } |
|
389 __ addptr(rsp, 4 * wordSize); |
385 break; |
390 break; |
386 case Interpreter::java_lang_math_exp: |
391 case Interpreter::java_lang_math_exp: |
387 __ subptr(rsp, 2*wordSize); |
392 __ subptr(rsp, 2*wordSize); |
388 __ fstp_d(Address(rsp, 0)); |
393 __ fstp_d(Address(rsp, 0)); |
389 if (VM_Version::supports_sse2()) { |
394 if (VM_Version::supports_sse2()) { |