Mercurial > hg > truffle
comparison src/share/vm/c1x/c1x_CodeInstaller.cpp @ 2059:9508a52cbd32
Add deoptimization blob support.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Wed, 19 Jan 2011 15:48:15 +0100 |
parents | 3c0a889a176b |
children | 9569fdf936ff |
comparison
equal
deleted
inserted
replaced
2058:8f033d37798a | 2059:9508a52cbd32 |
---|---|
521 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand); | 521 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand); |
522 TRACE_C1X_3("CiRuntimeCall::ArithmeticDrem()"); | 522 TRACE_C1X_3("CiRuntimeCall::ArithmeticDrem()"); |
523 } else if (runtime_call == CiRuntimeCall::RegisterFinalizer()) { | 523 } else if (runtime_call == CiRuntimeCall::RegisterFinalizer()) { |
524 call->set_destination(Runtime1::entry_for(Runtime1::register_finalizer_id)); | 524 call->set_destination(Runtime1::entry_for(Runtime1::register_finalizer_id)); |
525 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand); | 525 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand); |
526 } else if (runtime_call == CiRuntimeCall::Deoptimize()) { | |
527 call->set_destination(SharedRuntime::deopt_blob()->uncommon_trap()); | |
528 _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand); | |
526 } else { | 529 } else { |
527 runtime_call->print(); | 530 runtime_call->print(); |
528 fatal("runtime_call not implemented"); | 531 fatal("runtime_call not implemented"); |
529 } | 532 } |
530 } else if (global_stub != NULL) { | 533 } else if (global_stub != NULL) { |