src/cpu/ppc/vm/interp_masm_ppc_64.hpp

Print this page
rev 6728 : 8050942: PPC64: implement template interpreter for ppc64le
Contributed-by: asmundak@google.com


 113   void empty_expression_stack();       // Resets both Lesp and SP.
 114 
 115  public:
 116   // Load values from bytecode stream:
 117 
 118   enum signedOrNot { Signed, Unsigned };
 119   enum setCCOrNot  { set_CC, dont_set_CC };
 120 
 121   void get_2_byte_integer_at_bcp(int         bcp_offset,
 122                                  Register    Rdst,
 123                                  signedOrNot is_signed);
 124 
 125   void get_4_byte_integer_at_bcp(int         bcp_offset,
 126                                  Register    Rdst,
 127                                  signedOrNot is_signed = Unsigned);
 128 
 129   void get_cache_index_at_bcp(Register Rdst, int bcp_offset, size_t index_size);
 130 
 131   void get_cache_and_index_at_bcp(Register cache, int bcp_offset, size_t index_size = sizeof(u2));
 132 

 133 
 134   // common code
 135 
 136   void field_offset_at(int n, Register tmp, Register dest, Register base);
 137   int  field_offset_at(Register object, address bcp, int offset);
 138   void fast_iaaccess(int n, address bcp);
 139   void fast_iagetfield(address bcp);
 140   void fast_iaputfield(address bcp, bool do_store_check);
 141 
 142   void index_check(Register array, Register index, int index_shift, Register tmp, Register res);
 143   void index_check_without_pop(Register array, Register index, int index_shift, Register tmp, Register res);
 144 
 145   void get_const(Register Rdst);
 146   void get_constant_pool(Register Rdst);
 147   void get_constant_pool_cache(Register Rdst);
 148   void get_cpool_and_tags(Register Rcpool, Register Rtags);
 149   void is_a(Label& L);
 150 
 151   // Java Call Helpers
 152   void call_from_interpreter(Register Rtarget_method, Register Rret_addr, Register Rscratch1, Register Rscratch2);




 113   void empty_expression_stack();       // Resets both Lesp and SP.
 114 
 115  public:
 116   // Load values from bytecode stream:
 117 
 118   enum signedOrNot { Signed, Unsigned };
 119   enum setCCOrNot  { set_CC, dont_set_CC };
 120 
 121   void get_2_byte_integer_at_bcp(int         bcp_offset,
 122                                  Register    Rdst,
 123                                  signedOrNot is_signed);
 124 
 125   void get_4_byte_integer_at_bcp(int         bcp_offset,
 126                                  Register    Rdst,
 127                                  signedOrNot is_signed = Unsigned);
 128 
 129   void get_cache_index_at_bcp(Register Rdst, int bcp_offset, size_t index_size);
 130 
 131   void get_cache_and_index_at_bcp(Register cache, int bcp_offset, size_t index_size = sizeof(u2));
 132 
 133   void get_u4(Register Rdst, Register Rsrc, int offset, signedOrNot is_signed);
 134 
 135   // common code
 136 
 137   void field_offset_at(int n, Register tmp, Register dest, Register base);
 138   int  field_offset_at(Register object, address bcp, int offset);
 139   void fast_iaaccess(int n, address bcp);
 140   void fast_iagetfield(address bcp);
 141   void fast_iaputfield(address bcp, bool do_store_check);
 142 
 143   void index_check(Register array, Register index, int index_shift, Register tmp, Register res);
 144   void index_check_without_pop(Register array, Register index, int index_shift, Register tmp, Register res);
 145 
 146   void get_const(Register Rdst);
 147   void get_constant_pool(Register Rdst);
 148   void get_constant_pool_cache(Register Rdst);
 149   void get_cpool_and_tags(Register Rcpool, Register Rtags);
 150   void is_a(Label& L);
 151 
 152   // Java Call Helpers
 153   void call_from_interpreter(Register Rtarget_method, Register Rret_addr, Register Rscratch1, Register Rscratch2);