1.1 --- a/src/cpu/mips/vm/mips_64.ad Tue Feb 28 12:02:36 2017 -0500 1.2 +++ b/src/cpu/mips/vm/mips_64.ad Wed Mar 01 00:42:08 2017 -0500 1.3 @@ -6352,25 +6352,8 @@ 1.4 ins_cost(125); 1.5 format %{ "li $dst, $src\t# compressed ptr @ loadConN" %} 1.6 ins_encode %{ 1.7 - address con = (address)$src$$constant; 1.8 - if (con == NULL) { 1.9 - ShouldNotReachHere(); 1.10 - } else { 1.11 - assert (UseCompressedOops, "should only be used for compressed headers"); 1.12 - assert (Universe::heap() != NULL, "java heap should be initialized"); 1.13 - assert (__ oop_recorder() != NULL, "this assembler needs an OopRecorder"); 1.14 - 1.15 - Register dst = $dst$$Register; 1.16 - long* value = (long*)$src$$constant; 1.17 - int oop_index = __ oop_recorder()->find_index((jobject)value); 1.18 - RelocationHolder rspec = oop_Relocation::spec(oop_index); 1.19 - if(rspec.type()!=relocInfo::none){ 1.20 - __ relocate(rspec, Assembler::narrow_oop_operand); 1.21 - __ li48(dst, oop_index); 1.22 - } else { 1.23 - __ set64(dst, oop_index); 1.24 - } 1.25 - } 1.26 + Register dst = $dst$$Register; 1.27 + __ set_narrow_oop(dst, (jobject)$src$$constant); 1.28 %} 1.29 ins_pipe( ialu_regI_regI ); // XXX 1.30 %} 1.31 @@ -6381,24 +6364,8 @@ 1.32 ins_cost(125); 1.33 format %{ "li $dst, $src\t# compressed klass ptr @ loadConNKlass" %} 1.34 ins_encode %{ 1.35 - address con = (address)$src$$constant; 1.36 - if (con == NULL) { 1.37 - ShouldNotReachHere(); 1.38 - } else { 1.39 - Register dst = $dst$$Register; 1.40 - long* value = (long*)$src$$constant; 1.41 - 1.42 - int klass_index = __ oop_recorder()->find_index((Klass*)value); 1.43 - RelocationHolder rspec = metadata_Relocation::spec(klass_index); 1.44 - long narrowp = (long)Klass::encode_klass((Klass*)value); 1.45 - 1.46 - if(rspec.type()!=relocInfo::none){ 1.47 - __ relocate(rspec, Assembler::narrow_oop_operand); 1.48 - __ li48(dst, narrowp); 1.49 - } else { 1.50 - __ set64(dst, narrowp); 1.51 - } 1.52 - } 1.53 + Register dst = $dst$$Register; 1.54 + __ set_narrow_klass(dst, (Klass*)$src$$constant); 1.55 %} 1.56 ins_pipe( ialu_regI_regI ); // XXX 1.57 %}