src/cpu/x86/vm/interp_masm_x86.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8076373 Sdiff src/cpu/x86/vm

src/cpu/x86/vm/interp_masm_x86.hpp

Print this page




 123   void get_cache_entry_pointer_at_bcp(Register cache,
 124                                       Register tmp,
 125                                       int bcp_offset,
 126                                       size_t index_size = sizeof(u2));
 127   void get_cache_index_at_bcp(Register index,
 128                               int bcp_offset,
 129                               size_t index_size = sizeof(u2));
 130 
 131   // load cpool->resolved_references(index);
 132   void load_resolved_reference_at_index(Register result, Register index);
 133 
 134   NOT_LP64(void f2ieee();)        // truncate ftos to 32bits
 135   NOT_LP64(void d2ieee();)        // truncate dtos to 64bits
 136 
 137   // Expression stack
 138   void pop_ptr(Register r = rax);
 139   void pop_i(Register r = rax);
 140   void push_ptr(Register r = rax);
 141   void push_i(Register r = rax);
 142 




 143 #ifdef _LP64
 144   void pop_l(Register r = rax);
 145   void pop_f(XMMRegister r = xmm0);
 146   void pop_d(XMMRegister r = xmm0);
 147   void push_l(Register r = rax);
 148   void push_f(XMMRegister r = xmm0);
 149   void push_d(XMMRegister r = xmm0);
 150 #else
 151   void pop_l(Register lo = rax, Register hi = rdx);
 152   void pop_f();
 153   void pop_d();
 154 
 155   void push_l(Register lo = rax, Register hi = rdx);
 156   void push_d(Register r = rax);
 157   void push_f();
 158 #endif // _LP64
 159 
 160   void pop(Register r) { ((MacroAssembler*)this)->pop(r); }
 161   void push(Register r) { ((MacroAssembler*)this)->push(r); }
 162   void push(int32_t imm ) { ((MacroAssembler*)this)->push(imm); }
 163 
 164   void pop(TosState state);        // transition vtos -> state
 165   void push(TosState state);       // transition state -> vtos
 166 
 167   // These are dummies to prevent surprise implicit conversions to Register
 168   void pop(void* v); // Add unimplemented ambiguous method
 169   void push(void* v);   // Add unimplemented ambiguous method
 170 
 171   void empty_expression_stack() {
 172     movptr(rsp, Address(rbp, frame::interpreter_frame_monitor_block_top_offset * wordSize));
 173     // NULL last_sp until next java call
 174     movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD);
 175   }
 176 




 123   void get_cache_entry_pointer_at_bcp(Register cache,
 124                                       Register tmp,
 125                                       int bcp_offset,
 126                                       size_t index_size = sizeof(u2));
 127   void get_cache_index_at_bcp(Register index,
 128                               int bcp_offset,
 129                               size_t index_size = sizeof(u2));
 130 
 131   // load cpool->resolved_references(index);
 132   void load_resolved_reference_at_index(Register result, Register index);
 133 
 134   NOT_LP64(void f2ieee();)        // truncate ftos to 32bits
 135   NOT_LP64(void d2ieee();)        // truncate dtos to 64bits
 136 
 137   // Expression stack
 138   void pop_ptr(Register r = rax);
 139   void pop_i(Register r = rax);
 140   void push_ptr(Register r = rax);
 141   void push_i(Register r = rax);
 142 
 143   void push_f(XMMRegister r);
 144   void pop_f(XMMRegister r);
 145   void pop_d(XMMRegister r);
 146   void push_d(XMMRegister r);
 147 #ifdef _LP64
 148   void pop_l(Register r = rax);


 149   void push_l(Register r = rax);


 150 #else
 151   void pop_l(Register lo = rax, Register hi = rdx);
 152   void pop_f();
 153   void pop_d();
 154 
 155   void push_l(Register lo = rax, Register hi = rdx);
 156   void push_d();
 157   void push_f();
 158 #endif // _LP64
 159 
 160   void pop(Register r) { ((MacroAssembler*)this)->pop(r); }
 161   void push(Register r) { ((MacroAssembler*)this)->push(r); }
 162   void push(int32_t imm ) { ((MacroAssembler*)this)->push(imm); }
 163 
 164   void pop(TosState state);        // transition vtos -> state
 165   void push(TosState state);       // transition state -> vtos
 166 
 167   // These are dummies to prevent surprise implicit conversions to Register
 168   void pop(void* v); // Add unimplemented ambiguous method
 169   void push(void* v);   // Add unimplemented ambiguous method
 170 
 171   void empty_expression_stack() {
 172     movptr(rsp, Address(rbp, frame::interpreter_frame_monitor_block_top_offset * wordSize));
 173     // NULL last_sp until next java call
 174     movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD);
 175   }
 176 


src/cpu/x86/vm/interp_masm_x86.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File