[PATCH] 8152856: Use (~0u) instead of (-1) when left-shifting

Alex Henrie alexhenrie24 at gmail.com
Tue May 17 18:19:34 UTC 2016


# HG changeset patch
# User ahenrie
# Date 1463507859 21600
#      Tue May 17 11:57:39 2016 -0600
# Node ID b0c4b67a1a4789171f30a1986110bbf20345f060
# Parent  1691ffd6dab4901f2ecedbab11c7f9b2b8719919
8152856: Use (~0u) instead of (-1) when left-shifting

diff --git a/src/share/vm/code/dependencies.hpp b/src/share/vm/code/dependencies.hpp
--- a/src/share/vm/code/dependencies.hpp
+++ b/src/share/vm/code/dependencies.hpp
@@ -163,17 +163,17 @@ class Dependencies: public ResourceObj {
     call_site_target_value,
 
     TYPE_LIMIT
   };
   enum {
     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,
 
     non_ctxk_types      = (1 << evol_method) | (1 << call_site_target_value),
     implicit_ctxk_types = 0,
     explicit_ctxk_types = all_types & ~(non_ctxk_types | implicit_ctxk_types),
 
diff --git a/src/share/vm/oops/cpCache.hpp b/src/share/vm/oops/cpCache.hpp
--- a/src/share/vm/oops/cpCache.hpp
+++ b/src/share/vm/oops/cpCache.hpp
@@ -188,17 +188,17 @@ class ConstantPoolCacheEntry VALUE_OBJ_C
     is_final_shift             = 22,  // (f) is the field or method final?
     is_volatile_shift          = 21,  // (v) is the field volatile?
     is_vfinal_shift            = 20,  // (vf) did the call resolve to a final method?
     // low order bits give field index (for FieldInfo) or method parameter size:
     field_index_bits           = 16,
     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:
   enum {
     cp_index_bits              = 2*BitsPerByte,
     cp_index_mask              = right_n_bits(cp_index_bits),
     bytecode_1_shift           = cp_index_bits,
     bytecode_1_mask            = right_n_bits(BitsPerByte), // == (u1)0xFF


More information about the hotspot-dev mailing list