hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp
changeset 13391 30245956af37
parent 12937 0032fb2caff6
child 13728 882756847a04
equal deleted inserted replaced
13309:50c604cb0d5f 13391:30245956af37
   503 
   503 
   504 
   504 
   505 void InterpreterMacroAssembler::load_receiver(Register param_count,
   505 void InterpreterMacroAssembler::load_receiver(Register param_count,
   506                                               Register recv) {
   506                                               Register recv) {
   507   sll(param_count, Interpreter::logStackElementSize, param_count);
   507   sll(param_count, Interpreter::logStackElementSize, param_count);
   508   ld_ptr(Lesp, param_count, recv);                      // gets receiver Oop
   508   ld_ptr(Lesp, param_count, recv);  // gets receiver oop
   509 }
   509 }
   510 
   510 
   511 void InterpreterMacroAssembler::empty_expression_stack() {
   511 void InterpreterMacroAssembler::empty_expression_stack() {
   512   // Reset Lesp.
   512   // Reset Lesp.
   513   sub( Lmonitors, wordSize, Lesp );
   513   sub( Lmonitors, wordSize, Lesp );
   765                                                                         int bcp_offset,
   765                                                                         int bcp_offset,
   766                                                                         size_t index_size) {
   766                                                                         size_t index_size) {
   767   get_cache_and_index_at_bcp(cache, temp, bcp_offset, 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);
   768   ld_ptr(cache, constantPoolCacheOopDesc::base_offset() + ConstantPoolCacheEntry::indices_offset(), bytecode);
   769   const int shift_count = (1 + byte_no) * BitsPerByte;
   769   const int shift_count = (1 + byte_no) * BitsPerByte;
   770   srl( bytecode, shift_count, bytecode);
   770   assert((byte_no == TemplateTable::f1_byte && shift_count == ConstantPoolCacheEntry::bytecode_1_shift) ||
   771   and3(bytecode,        0xFF, bytecode);
   771          (byte_no == TemplateTable::f2_byte && shift_count == ConstantPoolCacheEntry::bytecode_2_shift),
       
   772          "correct shift count");
       
   773   srl(bytecode, shift_count, bytecode);
       
   774   assert(ConstantPoolCacheEntry::bytecode_1_mask == ConstantPoolCacheEntry::bytecode_2_mask, "common mask");
       
   775   and3(bytecode, ConstantPoolCacheEntry::bytecode_1_mask, bytecode);
   772 }
   776 }
   773 
   777 
   774 
   778 
   775 void InterpreterMacroAssembler::get_cache_entry_pointer_at_bcp(Register cache, Register tmp,
   779 void InterpreterMacroAssembler::get_cache_entry_pointer_at_bcp(Register cache, Register tmp,
   776                                                                int bcp_offset, size_t index_size) {
   780                                                                int bcp_offset, size_t index_size) {