6182 instruct loadConP_no_oop_cheap(iRegP dst, immP_no_oop_cheap con) %{ |
6182 instruct loadConP_no_oop_cheap(iRegP dst, immP_no_oop_cheap con) %{ |
6183 match(Set dst con); |
6183 match(Set dst con); |
6184 ins_cost(DEFAULT_COST * 3/2); |
6184 ins_cost(DEFAULT_COST * 3/2); |
6185 format %{ "SET $con,$dst\t! non-oop ptr" %} |
6185 format %{ "SET $con,$dst\t! non-oop ptr" %} |
6186 ins_encode %{ |
6186 ins_encode %{ |
6187 __ set($con$$constant, $dst$$Register); |
6187 if (_opnds[1]->constant_reloc() == relocInfo::metadata_type) { |
|
6188 __ set_metadata_constant((Metadata*)$con$$constant, $dst$$Register); |
|
6189 } else { |
|
6190 __ set($con$$constant, $dst$$Register); |
|
6191 } |
6188 %} |
6192 %} |
6189 ins_pipe(loadConP); |
6193 ins_pipe(loadConP); |
6190 %} |
6194 %} |
6191 #endif // _LP64 |
6195 #endif // _LP64 |
6192 |
6196 |