comparison src/cpu/x86/vm/graalRuntime_x86.cpp @ 8363:25691fcb505a

Transmit deoptimization reason in thread local instead of scratch register.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 19 Mar 2013 14:13:51 +0100
parents 3d33975f6497
children c3657d00e343
comparison
equal deleted inserted replaced
8362:5981ea5996e8 8363:25691fcb505a
98 } 98 }
99 // (thomaswue) Deoptimize in case of an exception. 99 // (thomaswue) Deoptimize in case of an exception.
100 restore_live_registers(this, false); 100 restore_live_registers(this, false);
101 movptr(Address(thread, Thread::pending_exception_offset()), NULL_WORD); 101 movptr(Address(thread, Thread::pending_exception_offset()), NULL_WORD);
102 leave(); 102 leave();
103 movl(rscratch1, Deoptimization::make_trap_request(Deoptimization::Reason_constraint, Deoptimization::Action_reinterpret)); 103 movl(Address(thread, ThreadShadow::pending_deoptimization_offset()), Deoptimization::make_trap_request(Deoptimization::Reason_constraint, Deoptimization::Action_reinterpret));
104 jump(RuntimeAddress(SharedRuntime::deopt_blob()->uncommon_trap())); 104 jump(RuntimeAddress(SharedRuntime::deopt_blob()->uncommon_trap()));
105 bind(L); 105 bind(L);
106 } 106 }
107 // get oop results if there are any and reset the values in the thread 107 // get oop results if there are any and reset the values in the thread
108 if (oop_result1->is_valid()) { 108 if (oop_result1->is_valid()) {