< prev index next >

src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp

Print this page

        

*** 202,212 **** // Restore stack bottom in case i2c adjusted stack __ movptr(rsp, Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize)); // and NULL it as marker that esp is now tos until next java call __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD); ! if (state == qtos && ValueTypeReturnedAsFields) { #ifndef _LP64 __ super_call_VM_leaf(StubRoutines::store_value_type_fields_to_buf()); #else // A value type is being returned. If fields are in registers we // need to allocate a value type instance and initialize it with --- 202,212 ---- // Restore stack bottom in case i2c adjusted stack __ movptr(rsp, Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize)); // and NULL it as marker that esp is now tos until next java call __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD); ! if (/*state == qtos*/ false && ValueTypeReturnedAsFields) { #ifndef _LP64 __ super_call_VM_leaf(StubRoutines::store_value_type_fields_to_buf()); #else // A value type is being returned. If fields are in registers we // need to allocate a value type instance and initialize it with
*** 1862,1877 **** address& aep, address& iep, address& lep, address& fep, address& dep, - address& qep, address& vep) { assert(t->is_valid() && t->tos_in() == vtos, "illegal template"); Label L; aep = __ pc(); __ push_ptr(); __ jmp(L); - qep = __ pc(); __ push_ptr(); __ jmp(L); #ifndef _LP64 fep = __ pc(); __ push(ftos); __ jmp(L); dep = __ pc(); __ push(dtos); __ jmp(L); #else fep = __ pc(); __ push_f(xmm0); __ jmp(L); --- 1862,1875 ----
< prev index next >