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

src/cpu/x86/vm/interp_masm_x86_64.hpp

Print this page




 119   void push_d(XMMRegister r = xmm0);
 120 
 121   void pop(Register r ) { ((MacroAssembler*)this)->pop(r); }
 122 
 123   void push(Register r ) { ((MacroAssembler*)this)->push(r); }
 124   void push(int32_t imm ) { ((MacroAssembler*)this)->push(imm); }
 125 
 126   void pop(TosState state); // transition vtos -> state
 127   void push(TosState state); // transition state -> vtos
 128 
 129   void empty_expression_stack() {
 130     movptr(rsp, Address(rbp, frame::interpreter_frame_monitor_block_top_offset * wordSize));
 131     // NULL last_sp until next java call
 132     movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD);
 133   }
 134 
 135   // Helpers for swap and dup
 136   void load_ptr(int n, Register val);
 137   void store_ptr(int n, Register val);
 138 
 139   // Super call_VM calls - correspond to MacroAssembler::call_VM(_leaf) calls
 140   void super_call_VM_leaf(address entry_point);
 141   void super_call_VM_leaf(address entry_point, Register arg_1);
 142   void super_call_VM_leaf(address entry_point, Register arg_1, Register arg_2);
 143   void super_call_VM_leaf(address entry_point,
 144                           Register arg_1, Register arg_2, Register arg_3);
 145 
 146   // Generate a subtype check: branch to ok_is_subtype if sub_klass is
 147   // a subtype of super_klass.
 148   void gen_subtype_check( Register sub_klass, Label &ok_is_subtype );
 149 
 150   // Dispatching
 151   void dispatch_prolog(TosState state, int step = 0);
 152   void dispatch_epilog(TosState state, int step = 0);
 153   // dispatch via ebx (assume ebx is loaded already)
 154   void dispatch_only(TosState state);
 155   // dispatch normal table via ebx (assume ebx is loaded already)
 156   void dispatch_only_normal(TosState state);
 157   void dispatch_only_noverify(TosState state);
 158   // load ebx from [esi + step] and dispatch via ebx
 159   void dispatch_next(TosState state, int step = 0);
 160   // load ebx from [esi] and dispatch via ebx and table
 161   void dispatch_via (TosState state, address* table);
 162 
 163   // jump to an invoked target
 164   void prepare_to_jump_from_interpreted();
 165   void jump_from_interpreted(Register method, Register temp);




 119   void push_d(XMMRegister r = xmm0);
 120 
 121   void pop(Register r ) { ((MacroAssembler*)this)->pop(r); }
 122 
 123   void push(Register r ) { ((MacroAssembler*)this)->push(r); }
 124   void push(int32_t imm ) { ((MacroAssembler*)this)->push(imm); }
 125 
 126   void pop(TosState state); // transition vtos -> state
 127   void push(TosState state); // transition state -> vtos
 128 
 129   void empty_expression_stack() {
 130     movptr(rsp, Address(rbp, frame::interpreter_frame_monitor_block_top_offset * wordSize));
 131     // NULL last_sp until next java call
 132     movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD);
 133   }
 134 
 135   // Helpers for swap and dup
 136   void load_ptr(int n, Register val);
 137   void store_ptr(int n, Register val);
 138 







 139   // Generate a subtype check: branch to ok_is_subtype if sub_klass is
 140   // a subtype of super_klass.
 141   void gen_subtype_check( Register sub_klass, Label &ok_is_subtype );
 142 
 143   // Dispatching
 144   void dispatch_prolog(TosState state, int step = 0);
 145   void dispatch_epilog(TosState state, int step = 0);
 146   // dispatch via ebx (assume ebx is loaded already)
 147   void dispatch_only(TosState state);
 148   // dispatch normal table via ebx (assume ebx is loaded already)
 149   void dispatch_only_normal(TosState state);
 150   void dispatch_only_noverify(TosState state);
 151   // load ebx from [esi + step] and dispatch via ebx
 152   void dispatch_next(TosState state, int step = 0);
 153   // load ebx from [esi] and dispatch via ebx and table
 154   void dispatch_via (TosState state, address* table);
 155 
 156   // jump to an invoked target
 157   void prepare_to_jump_from_interpreted();
 158   void jump_from_interpreted(Register method, Register temp);


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