hotspot/src/cpu/sparc/vm/sparc.ad
changeset 767 64fb1fd7186d
parent 608 fe8c5fbbc54e
child 781 e1baa9c8f16f
equal deleted inserted replaced
766:d3e5868ddb33 767:64fb1fd7186d
  5953   ins_pipe(fstoreD_mem_reg);
  5953   ins_pipe(fstoreD_mem_reg);
  5954 %}
  5954 %}
  5955 
  5955 
  5956 // Convert oop pointer into compressed form
  5956 // Convert oop pointer into compressed form
  5957 instruct encodeHeapOop(iRegN dst, iRegP src) %{
  5957 instruct encodeHeapOop(iRegN dst, iRegP src) %{
  5958   predicate(n->bottom_type()->is_narrowoop()->make_oopptr()->ptr() != TypePtr::NotNull);
  5958   predicate(n->bottom_type()->make_ptr()->ptr() != TypePtr::NotNull);
  5959   match(Set dst (EncodeP src));
  5959   match(Set dst (EncodeP src));
  5960   format %{ "encode_heap_oop $src, $dst" %}
  5960   format %{ "encode_heap_oop $src, $dst" %}
  5961   ins_encode %{
  5961   ins_encode %{
  5962     __ encode_heap_oop($src$$Register, $dst$$Register);
  5962     __ encode_heap_oop($src$$Register, $dst$$Register);
  5963   %}
  5963   %}
  5964   ins_pipe(ialu_reg);
  5964   ins_pipe(ialu_reg);
  5965 %}
  5965 %}
  5966 
  5966 
  5967 instruct encodeHeapOop_not_null(iRegN dst, iRegP src) %{
  5967 instruct encodeHeapOop_not_null(iRegN dst, iRegP src) %{
  5968   predicate(n->bottom_type()->is_narrowoop()->make_oopptr()->ptr() == TypePtr::NotNull);
  5968   predicate(n->bottom_type()->make_ptr()->ptr() == TypePtr::NotNull);
  5969   match(Set dst (EncodeP src));
  5969   match(Set dst (EncodeP src));
  5970   format %{ "encode_heap_oop_not_null $src, $dst" %}
  5970   format %{ "encode_heap_oop_not_null $src, $dst" %}
  5971   ins_encode %{
  5971   ins_encode %{
  5972     __ encode_heap_oop_not_null($src$$Register, $dst$$Register);
  5972     __ encode_heap_oop_not_null($src$$Register, $dst$$Register);
  5973   %}
  5973   %}