1.1 --- a/src/cpu/sparc/vm/sparc.ad Fri Oct 25 11:13:11 2013 -0400 1.2 +++ b/src/cpu/sparc/vm/sparc.ad Fri Oct 25 15:19:29 2013 -0400 1.3 @@ -1660,12 +1660,16 @@ 1.4 if (UseCompressedClassPointers) { 1.5 assert(Universe::heap() != NULL, "java heap should be initialized"); 1.6 st->print_cr("\tLDUW [R_O0 + oopDesc::klass_offset_in_bytes],R_G5\t! Inline cache check - compressed klass"); 1.7 - st->print_cr("\tSET Universe::narrow_klass_base,R_G6_heap_base"); 1.8 - if (Universe::narrow_klass_shift() != 0) { 1.9 - st->print_cr("\tSLL R_G5,3,R_G5"); 1.10 + if (Universe::narrow_klass_base() != 0) { 1.11 + st->print_cr("\tSET Universe::narrow_klass_base,R_G6_heap_base"); 1.12 + if (Universe::narrow_klass_shift() != 0) { 1.13 + st->print_cr("\tSLL R_G5,Universe::narrow_klass_shift,R_G5"); 1.14 + } 1.15 + st->print_cr("\tADD R_G5,R_G6_heap_base,R_G5"); 1.16 + st->print_cr("\tSET Universe::narrow_ptrs_base,R_G6_heap_base"); 1.17 + } else { 1.18 + st->print_cr("\tSLL R_G5,Universe::narrow_klass_shift,R_G5"); 1.19 } 1.20 - st->print_cr("\tADD R_G5,R_G6_heap_base,R_G5"); 1.21 - st->print_cr("\tSET Universe::narrow_ptrs_base,R_G6_heap_base"); 1.22 } else { 1.23 st->print_cr("\tLDX [R_O0 + oopDesc::klass_offset_in_bytes],R_G5\t! Inline cache check"); 1.24 }