diff --git a/src/share/vm/oops/klass.hpp b/src/share/vm/oops/klass.hpp index 9f612c3e74fc5956b190283152ccb10b2afa3bee..df018923ca4047f3d3644c8f11e356aedd2d686a 100644 --- a/src/share/vm/oops/klass.hpp +++ b/src/share/vm/oops/klass.hpp @@ -335,10 +335,11 @@ protected: _lh_header_size_mask = right_n_bits(BitsPerByte), // shifted mask _lh_array_tag_bits = 2, _lh_array_tag_shift = BitsPerInt - _lh_array_tag_bits, - _lh_array_tag_type_value = ~0x00, // 0xC0000000 >> 30 _lh_array_tag_obj_value = ~0x01 // 0x80000000 >> 30 }; + static const unsigned int _lh_array_tag_type_value = 0Xffffffff; // ~0x00, // 0xC0000000 >> 30 + static int layout_helper_size_in_bytes(jint lh) { assert(lh > (jint)_lh_neutral_value, "must be instance"); return (int) lh & ~_lh_instance_slow_path_bit; diff --git a/src/share/vm/opto/library_call.cpp b/src/share/vm/opto/library_call.cpp index db36fb3497990418953962bfc1bbf74ed5ad79a4..4bb5ca886c94b969abef14bc7b1f2929b864b443 100644 --- a/src/share/vm/opto/library_call.cpp +++ b/src/share/vm/opto/library_call.cpp @@ -3803,7 +3803,7 @@ Node* LibraryCallKit::generate_array_guard_common(Node* kls, RegionNode* region, } // Now test the correct condition. jint nval = (obj_array - ? ((jint)Klass::_lh_array_tag_type_value + ? (jint)(Klass::_lh_array_tag_type_value << Klass::_lh_array_tag_shift) : Klass::_lh_neutral_value); Node* cmp = _gvn.transform(new(C) CmpINode(layout_val, intcon(nval)));