Mercurial > hg > truffle
comparison src/share/vm/opto/memnode.cpp @ 29:d5fc211aea19
6633953: type2aelembytes{T_ADDRESS} should be 8 bytes in 64 bit VM
Summary: T_ADDRESS size is defined as 'int' size (4 bytes) but C2 use it for raw pointers and as memory type for StoreP and LoadP nodes.
Reviewed-by: jrose
author | kvn |
---|---|
date | Mon, 25 Feb 2008 15:05:44 -0800 |
parents | ff5961f4c095 |
children | f34d9da7acb2 |
comparison
equal
deleted
inserted
replaced
28:67914967a4b5 | 29:d5fc211aea19 |
---|---|
887 Compile::AliasType* atp = phase->C->alias_type(load_base->adr_type()); | 887 Compile::AliasType* atp = phase->C->alias_type(load_base->adr_type()); |
888 intptr_t cache_offset; | 888 intptr_t cache_offset; |
889 int shift = -1; | 889 int shift = -1; |
890 Node* cache = NULL; | 890 Node* cache = NULL; |
891 if (is_autobox_cache(atp)) { | 891 if (is_autobox_cache(atp)) { |
892 shift = exact_log2(type2aelembytes[T_OBJECT]); | 892 shift = exact_log2(type2aelembytes(T_OBJECT)); |
893 cache = AddPNode::Ideal_base_and_offset(load_base->in(Address), phase, cache_offset); | 893 cache = AddPNode::Ideal_base_and_offset(load_base->in(Address), phase, cache_offset); |
894 } | 894 } |
895 if (cache != NULL && base->in(Address)->is_AddP()) { | 895 if (cache != NULL && base->in(Address)->is_AddP()) { |
896 Node* elements[4]; | 896 Node* elements[4]; |
897 int count = base->in(Address)->as_AddP()->unpack_offsets(elements, ARRAY_SIZE(elements)); | 897 int count = base->in(Address)->as_AddP()->unpack_offsets(elements, ARRAY_SIZE(elements)); |