src/cpu/x86/vm/templateInterpreter_x86_64.cpp

changeset 2552
638119ce7cfd
parent 2461
b599a4c6c2df
child 2698
38fea01eb669
child 2781
e1162778c1c8
equal deleted inserted replaced
2551:4f26f535a225 2552:638119ce7cfd
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

mercurial