< prev index next >
src/share/vm/opto/type.cpp
Print this page
rev 10518 : Tobias' flattened array
rev 10530 : fix x86 32 bit build (broken by change to calling convention)
@@ -4575,11 +4575,11 @@
const TypePtr* TypeAryPtr::with_field_offset_and_offset(intptr_t offset) const {
if (offset != Type::OffsetBot) {
const Type* elemtype = elem();
if (elemtype->isa_valuetype()) {
uint header = arrayOopDesc::base_offset_in_bytes(T_OBJECT);
- if (offset >= header) {
+ if (offset >= (intptr_t)header) {
ciKlass* arytype_klass = klass();
ciValueArrayKlass* vak = arytype_klass->as_value_array_klass();
int shift = vak->log2_element_size();
intptr_t field_offset = ((offset - header) & ((1 << shift) - 1));
< prev index next >