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()) {