equal
deleted
inserted
replaced
188 __ dispatch_next(state); |
188 __ dispatch_next(state); |
189 return entry; |
189 return entry; |
190 } |
190 } |
191 |
191 |
192 |
192 |
193 address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, |
193 address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, int step) { |
194 int step) { |
|
195 |
|
196 // amd64 doesn't need to do anything special about compiled returns |
|
197 // to the interpreter so the code that exists on x86 to place a sentinel |
|
198 // here and the specialized cleanup code is not needed here. |
|
199 |
|
200 address entry = __ pc(); |
194 address entry = __ pc(); |
201 |
195 |
202 // Restore stack bottom in case i2c adjusted stack |
196 // Restore stack bottom in case i2c adjusted stack |
203 __ movptr(rsp, Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize)); |
197 __ movptr(rsp, Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize)); |
204 // and NULL it as marker that esp is now tos until next java call |
198 // and NULL it as marker that esp is now tos until next java call |