comparison src/share/vm/graal/graalCodeInstaller.cpp @ 3560:6e8fc93551d7

Implement ArithmeticSin(), ArithmeticCos() and ArithmeticTan() runtime calls
author Peter Hofer <peter.hofer@jku.at>
date Wed, 24 Aug 2011 18:17:03 +0200
parents bc95d122df79
children bea018622324
comparison
equal deleted inserted replaced
3559:f70a4cc629e7 3560:6e8fc93551d7
623 TRACE_graal_3("CiRuntimeCall::ArithmeticFrem()"); 623 TRACE_graal_3("CiRuntimeCall::ArithmeticFrem()");
624 } else if (runtime_call == CiRuntimeCall::ArithmeticDrem()) { 624 } else if (runtime_call == CiRuntimeCall::ArithmeticDrem()) {
625 call->set_destination(Runtime1::entry_for(Runtime1::graal_arithmetic_drem_id)); 625 call->set_destination(Runtime1::entry_for(Runtime1::graal_arithmetic_drem_id));
626 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand); 626 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand);
627 TRACE_graal_3("CiRuntimeCall::ArithmeticDrem()"); 627 TRACE_graal_3("CiRuntimeCall::ArithmeticDrem()");
628 } else if (runtime_call == CiRuntimeCall::ArithmeticSin()) {
629 call->set_destination(CAST_FROM_FN_PTR(address, SharedRuntime::dsin));
630 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand);
631 TRACE_graal_3("CiRuntimeCall::ArithmeticSin()");
632 } else if (runtime_call == CiRuntimeCall::ArithmeticCos()) {
633 call->set_destination(CAST_FROM_FN_PTR(address, SharedRuntime::dcos));
634 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand);
635 TRACE_graal_3("CiRuntimeCall::ArithmeticCos()");
636 } else if (runtime_call == CiRuntimeCall::ArithmeticTan()) {
637 call->set_destination(CAST_FROM_FN_PTR(address, SharedRuntime::dtan));
638 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand);
639 TRACE_graal_3("CiRuntimeCall::ArithmeticTan()");
628 } else if (runtime_call == CiRuntimeCall::RegisterFinalizer()) { 640 } else if (runtime_call == CiRuntimeCall::RegisterFinalizer()) {
629 call->set_destination(Runtime1::entry_for(Runtime1::register_finalizer_id)); 641 call->set_destination(Runtime1::entry_for(Runtime1::register_finalizer_id));
630 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand); 642 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand);
631 } else if (runtime_call == CiRuntimeCall::Deoptimize()) { 643 } else if (runtime_call == CiRuntimeCall::Deoptimize()) {
632 call->set_destination(SharedRuntime::deopt_blob()->uncommon_trap()); 644 call->set_destination(SharedRuntime::deopt_blob()->uncommon_trap());