hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp
changeset 10265 4c869854aebd
parent 10252 0981ce1c3eef
child 12937 0032fb2caff6
equal deleted inserted replaced
10264:6879f93d268d 10265:4c869854aebd
   756   sll(tmp, exact_log2(in_words(ConstantPoolCacheEntry::size()) * BytesPerWord), tmp);
   756   sll(tmp, exact_log2(in_words(ConstantPoolCacheEntry::size()) * BytesPerWord), tmp);
   757   add(LcpoolCache, tmp, cache);
   757   add(LcpoolCache, tmp, cache);
   758 }
   758 }
   759 
   759 
   760 
   760 
       
   761 void InterpreterMacroAssembler::get_cache_and_index_and_bytecode_at_bcp(Register cache,
       
   762                                                                         Register temp,
       
   763                                                                         Register bytecode,
       
   764                                                                         int byte_no,
       
   765                                                                         int bcp_offset,
       
   766                                                                         size_t index_size) {
       
   767   get_cache_and_index_at_bcp(cache, temp, bcp_offset, index_size);
       
   768   ld_ptr(cache, constantPoolCacheOopDesc::base_offset() + ConstantPoolCacheEntry::indices_offset(), bytecode);
       
   769   const int shift_count = (1 + byte_no) * BitsPerByte;
       
   770   srl( bytecode, shift_count, bytecode);
       
   771   and3(bytecode,        0xFF, bytecode);
       
   772 }
       
   773 
       
   774 
   761 void InterpreterMacroAssembler::get_cache_entry_pointer_at_bcp(Register cache, Register tmp,
   775 void InterpreterMacroAssembler::get_cache_entry_pointer_at_bcp(Register cache, Register tmp,
   762                                                                int bcp_offset, size_t index_size) {
   776                                                                int bcp_offset, size_t index_size) {
   763   assert(bcp_offset > 0, "bcp is still pointing to start of bytecode");
   777   assert(bcp_offset > 0, "bcp is still pointing to start of bytecode");
   764   assert_different_registers(cache, tmp);
   778   assert_different_registers(cache, tmp);
   765   assert_not_delayed();
   779   assert_not_delayed();