Mercurial > hg > graal-jvmci-8
changeset 23747:4da0ab22649c
8157758: JDK9 does not compile on Linux with GCC 6.1 because left-shifting a negative number has undefined behavior
Summary: Replace shifts of -1 with shifts of ~0u.
Reviewed-by: kbarrett, mockner
Contributed-by: alexhenrie24@gmail.com
author | kbarrett |
---|---|
date | Thu, 23 Jun 2016 16:46:41 -0400 |
parents | 0dceb4846c8c |
children | 3e551611f1fc |
files | src/share/vm/code/dependencies.hpp src/share/vm/oops/cpCache.hpp |
diffstat | 2 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/code/dependencies.hpp Fri Aug 26 13:37:53 2016 -0700 +++ b/src/share/vm/code/dependencies.hpp Thu Jun 23 16:46:41 2016 -0400 @@ -166,7 +166,7 @@ LG2_TYPE_LIMIT = 4, // assert(TYPE_LIMIT <= (1<<LG2_TYPE_LIMIT)) // handy categorizations of dependency types: - all_types = ((1 << TYPE_LIMIT) - 1) & ((-1) << FIRST_TYPE), + all_types = ((1 << TYPE_LIMIT) - 1) & ((~0u) << FIRST_TYPE), non_klass_types = (1 << call_site_target_value), klass_types = all_types & ~non_klass_types,
--- a/src/share/vm/oops/cpCache.hpp Fri Aug 26 13:37:53 2016 -0700 +++ b/src/share/vm/oops/cpCache.hpp Thu Jun 23 16:46:41 2016 -0400 @@ -192,7 +192,7 @@ field_index_mask = right_n_bits(field_index_bits), parameter_size_bits = 8, // subset of field_index_mask, range is 0..255 parameter_size_mask = right_n_bits(parameter_size_bits), - option_bits_mask = ~(((-1) << tos_state_shift) | (field_index_mask | parameter_size_mask)) + option_bits_mask = ~(((~0u) << tos_state_shift) | (field_index_mask | parameter_size_mask)) }; // specific bit definitions for the indices field: