Mercurial > hg > truffle
comparison src/cpu/x86/vm/c1_Runtime1_x86.cpp @ 3509:28ba2439034f
recompile upon deoptimizations that are caused by runtime exceptions
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Mon, 08 Aug 2011 18:24:21 +0200 |
parents | 75a99b4f1c98 |
children | e4616e3d207b |
comparison
equal
deleted
inserted
replaced
3508:8dbbef133869 | 3509:28ba2439034f |
---|---|
99 } | 99 } |
100 // (tw) Deoptimize in case of an exception. | 100 // (tw) Deoptimize in case of an exception. |
101 restore_live_registers(this, false); | 101 restore_live_registers(this, false); |
102 movptr(Address(thread, Thread::pending_exception_offset()), NULL_WORD); | 102 movptr(Address(thread, Thread::pending_exception_offset()), NULL_WORD); |
103 leave(); | 103 leave(); |
104 movl(rscratch1, 2); // InvalidateRecompile | |
104 jump(RuntimeAddress(SharedRuntime::deopt_blob()->uncommon_trap())); | 105 jump(RuntimeAddress(SharedRuntime::deopt_blob()->uncommon_trap())); |
105 bind(L); | 106 bind(L); |
106 } | 107 } |
107 // get oop results if there are any and reset the values in the thread | 108 // get oop results if there are any and reset the values in the thread |
108 if (oop_result1->is_valid()) { | 109 if (oop_result1->is_valid()) { |