hotspot/src/cpu/sparc/vm/sparc.ad
changeset 21188 d053e4e8f901
parent 20289 35d78de0c547
child 21189 e851a0a007ce
equal deleted inserted replaced
21187:8b35dcf13513 21188:d053e4e8f901
  1658   st->print_cr("\nUEP:");
  1658   st->print_cr("\nUEP:");
  1659 #ifdef    _LP64
  1659 #ifdef    _LP64
  1660   if (UseCompressedClassPointers) {
  1660   if (UseCompressedClassPointers) {
  1661     assert(Universe::heap() != NULL, "java heap should be initialized");
  1661     assert(Universe::heap() != NULL, "java heap should be initialized");
  1662     st->print_cr("\tLDUW   [R_O0 + oopDesc::klass_offset_in_bytes],R_G5\t! Inline cache check - compressed klass");
  1662     st->print_cr("\tLDUW   [R_O0 + oopDesc::klass_offset_in_bytes],R_G5\t! Inline cache check - compressed klass");
  1663     st->print_cr("\tSET    Universe::narrow_klass_base,R_G6_heap_base");
  1663     if (Universe::narrow_klass_base() != 0) {
  1664     if (Universe::narrow_klass_shift() != 0) {
  1664       st->print_cr("\tSET    Universe::narrow_klass_base,R_G6_heap_base");
  1665       st->print_cr("\tSLL    R_G5,3,R_G5");
  1665       if (Universe::narrow_klass_shift() != 0) {
       
  1666         st->print_cr("\tSLL    R_G5,Universe::narrow_klass_shift,R_G5");
       
  1667       }
       
  1668       st->print_cr("\tADD    R_G5,R_G6_heap_base,R_G5");
       
  1669       st->print_cr("\tSET    Universe::narrow_ptrs_base,R_G6_heap_base");
       
  1670     } else {
       
  1671       st->print_cr("\tSLL    R_G5,Universe::narrow_klass_shift,R_G5");
  1666     }
  1672     }
  1667     st->print_cr("\tADD    R_G5,R_G6_heap_base,R_G5");
       
  1668     st->print_cr("\tSET    Universe::narrow_ptrs_base,R_G6_heap_base");
       
  1669   } else {
  1673   } else {
  1670     st->print_cr("\tLDX    [R_O0 + oopDesc::klass_offset_in_bytes],R_G5\t! Inline cache check");
  1674     st->print_cr("\tLDX    [R_O0 + oopDesc::klass_offset_in_bytes],R_G5\t! Inline cache check");
  1671   }
  1675   }
  1672   st->print_cr("\tCMP    R_G5,R_G3" );
  1676   st->print_cr("\tCMP    R_G5,R_G3" );
  1673   st->print   ("\tTne    xcc,R_G0+ST_RESERVED_FOR_USER_0+2");
  1677   st->print   ("\tTne    xcc,R_G0+ST_RESERVED_FOR_USER_0+2");