diff 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
line wrap: on
line diff
--- a/src/share/vm/c1x/c1x_CodeInstaller.cpp	Tue Jan 18 10:19:59 2011 +0100
+++ b/src/share/vm/c1x/c1x_CodeInstaller.cpp	Wed Jan 19 15:48:15 2011 +0100
@@ -523,6 +523,9 @@
     } else if (runtime_call == CiRuntimeCall::RegisterFinalizer()) {
       call->set_destination(Runtime1::entry_for(Runtime1::register_finalizer_id));
       _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand);
+    } else if (runtime_call == CiRuntimeCall::Deoptimize()) {
+      call->set_destination(SharedRuntime::deopt_blob()->uncommon_trap());
+      _instructions->relocate(call->instruction_address(), runtime_call_Relocation::spec(), Assembler::call32_operand);
     } else {
       runtime_call->print();
       fatal("runtime_call not implemented");