# HG changeset patch # User gziemski # Date 1464111763 18000 # Node ID d3906fec707e8a1bfdb233a3c01fe9702d8d27d0 # Parent e83778acc88a2e5857d1e19d546cd09861a78fdb 8152856: Xcode 7.3 -Wshift-negative-value compile failure on Mac OS X Summary: Implement _lh_array_tag_type_value as const, not enum. Reviewed-by: vlivanov, minqi diff -r e83778acc88a -r d3906fec707e hotspot/src/share/vm/oops/klass.hpp --- a/hotspot/src/share/vm/oops/klass.hpp Tue May 24 13:39:18 2016 +0000 +++ b/hotspot/src/share/vm/oops/klass.hpp Tue May 24 12:42:43 2016 -0500 @@ -309,10 +309,11 @@ _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 -r e83778acc88a -r d3906fec707e hotspot/src/share/vm/opto/library_call.cpp --- a/hotspot/src/share/vm/opto/library_call.cpp Tue May 24 13:39:18 2016 +0000 +++ b/hotspot/src/share/vm/opto/library_call.cpp Tue May 24 12:42:43 2016 -0500 @@ -3740,7 +3740,7 @@ } // 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 CmpINode(layout_val, intcon(nval)));