Mercurial > hg > graal-compiler
diff src/cpu/sparc/vm/sparc.ad @ 182:44abbb0d4c18
6709093: Compressed Oops: reduce size of compiled methods
Summary: exclude UEP size from nmethod code size and use narrow klass oop to load prototype header.
Reviewed-by: jrose, never
author | kvn |
---|---|
date | Thu, 05 Jun 2008 13:02:51 -0700 |
parents | 823298b11afc |
children | d1605aabd0a1 1e026f8da827 |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/sparc.ad Wed Jun 04 21:56:27 2008 -0700 +++ b/src/cpu/sparc/vm/sparc.ad Thu Jun 05 13:02:51 2008 -0700 @@ -5975,7 +5975,8 @@ %} instruct decodeHeapOop(iRegP dst, iRegN src) %{ - predicate(n->bottom_type()->is_oopptr()->ptr() != TypePtr::NotNull); + predicate(n->bottom_type()->is_oopptr()->ptr() != TypePtr::NotNull && + n->bottom_type()->is_oopptr()->ptr() != TypePtr::Constant); match(Set dst (DecodeN src)); format %{ "decode_heap_oop $src, $dst" %} ins_encode %{ @@ -5985,7 +5986,8 @@ %} instruct decodeHeapOop_not_null(iRegP dst, iRegN src) %{ - predicate(n->bottom_type()->is_oopptr()->ptr() == TypePtr::NotNull); + predicate(n->bottom_type()->is_oopptr()->ptr() == TypePtr::NotNull || + n->bottom_type()->is_oopptr()->ptr() == TypePtr::Constant); match(Set dst (DecodeN src)); format %{ "decode_heap_oop_not_null $src, $dst" %} ins_encode %{