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 %} |