comparison src/cpu/x86/vm/templateInterpreter_x86_64.cpp @ 13220:2b43fcc68add

Put _pending_deoptimization and _pending_monitorenter under ifdef GRAAL
author Gilles Duboscq <duboscq@ssw.jku.at>
date Mon, 02 Dec 2013 18:06:00 +0100
parents 096c224171c4
children 4062efea018b
comparison
equal deleted inserted replaced
13219:fdc3925a8e74 13220:2b43fcc68add
205 address entry = __ pc(); 205 address entry = __ pc();
206 // NULL last_sp until next java call 206 // NULL last_sp until next java call
207 __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD); 207 __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD);
208 __ restore_bcp(); 208 __ restore_bcp();
209 __ restore_locals(); 209 __ restore_locals();
210 #ifdef GRAAL
210 // Check if we need to take lock at entry of synchronized method. 211 // Check if we need to take lock at entry of synchronized method.
211 { 212 {
212 Label L; 213 Label L;
213 __ cmpb(Address(r15_thread, Thread::pending_monitorenter_offset()), 0); 214 __ cmpb(Address(r15_thread, Thread::pending_monitorenter_offset()), 0);
214 __ jcc(Assembler::zero, L); 215 __ jcc(Assembler::zero, L);
218 __ get_method(rbx); 219 __ get_method(rbx);
219 // Take lock. 220 // Take lock.
220 lock_method(); 221 lock_method();
221 __ bind(L); 222 __ bind(L);
222 } 223 }
224 #endif
223 // handle exceptions 225 // handle exceptions
224 { 226 {
225 Label L; 227 Label L;
226 __ cmpptr(Address(r15_thread, Thread::pending_exception_offset()), (int32_t) NULL_WORD); 228 __ cmpptr(Address(r15_thread, Thread::pending_exception_offset()), (int32_t) NULL_WORD);
227 __ jcc(Assembler::zero, L); 229 __ jcc(Assembler::zero, L);