提交 e9e7a5e6 编写于 作者: G gziemski

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
上级 ed8ddd48
...@@ -335,10 +335,11 @@ protected: ...@@ -335,10 +335,11 @@ protected:
_lh_header_size_mask = right_n_bits(BitsPerByte), // shifted mask _lh_header_size_mask = right_n_bits(BitsPerByte), // shifted mask
_lh_array_tag_bits = 2, _lh_array_tag_bits = 2,
_lh_array_tag_shift = BitsPerInt - _lh_array_tag_bits, _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 _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) { static int layout_helper_size_in_bytes(jint lh) {
assert(lh > (jint)_lh_neutral_value, "must be instance"); assert(lh > (jint)_lh_neutral_value, "must be instance");
return (int) lh & ~_lh_instance_slow_path_bit; return (int) lh & ~_lh_instance_slow_path_bit;
......
...@@ -3803,7 +3803,7 @@ Node* LibraryCallKit::generate_array_guard_common(Node* kls, RegionNode* region, ...@@ -3803,7 +3803,7 @@ Node* LibraryCallKit::generate_array_guard_common(Node* kls, RegionNode* region,
} }
// Now test the correct condition. // Now test the correct condition.
jint nval = (obj_array 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_array_tag_shift)
: Klass::_lh_neutral_value); : Klass::_lh_neutral_value);
Node* cmp = _gvn.transform(new(C) CmpINode(layout_val, intcon(nval))); Node* cmp = _gvn.transform(new(C) CmpINode(layout_val, intcon(nval)));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册