< prev index next >

src/hotspot/share/gc/z/zAddress.inline.hpp

Print this page




  53   assert((is_good(value) || is_null(value)) == result, "Bad address");
  54   return result;
  55 }
  56 
  57 inline bool ZAddress::is_weak_bad(uintptr_t value) {
  58   return value & ZAddressWeakBadMask;
  59 }
  60 
  61 inline bool ZAddress::is_weak_good(uintptr_t value) {
  62   return !is_weak_bad(value) && !is_null(value);
  63 }
  64 
  65 inline bool ZAddress::is_weak_good_or_null(uintptr_t value) {
  66   return !is_weak_bad(value);
  67 }
  68 
  69 inline bool ZAddress::is_marked(uintptr_t value) {
  70   return value & ZAddressMetadataMarked;
  71 }
  72 




  73 inline bool ZAddress::is_finalizable(uintptr_t value) {
  74   return value & ZAddressMetadataFinalizable;
  75 }
  76 
  77 inline bool ZAddress::is_finalizable_good(uintptr_t value) {
  78   return is_finalizable(value) && is_good(value ^ ZAddressMetadataFinalizable);
  79 }
  80 
  81 inline bool ZAddress::is_remapped(uintptr_t value) {
  82   return value & ZAddressMetadataRemapped;
  83 }
  84 
  85 inline bool ZAddress::is_in(uintptr_t value) {
  86   // Check that exactly one non-offset bit is set
  87   if (!is_power_of_2(value & ~ZAddressOffsetMask)) {
  88     return false;
  89   }
  90 
  91   // Check that one of the non-finalizable metadata is set
  92   return value & (ZAddressMetadataMask & ~ZAddressMetadataFinalizable);




  53   assert((is_good(value) || is_null(value)) == result, "Bad address");
  54   return result;
  55 }
  56 
  57 inline bool ZAddress::is_weak_bad(uintptr_t value) {
  58   return value & ZAddressWeakBadMask;
  59 }
  60 
  61 inline bool ZAddress::is_weak_good(uintptr_t value) {
  62   return !is_weak_bad(value) && !is_null(value);
  63 }
  64 
  65 inline bool ZAddress::is_weak_good_or_null(uintptr_t value) {
  66   return !is_weak_bad(value);
  67 }
  68 
  69 inline bool ZAddress::is_marked(uintptr_t value) {
  70   return value & ZAddressMetadataMarked;
  71 }
  72 
  73 inline bool ZAddress::is_marked_or_null(uintptr_t value) {
  74   return is_marked(value) || is_null(value);
  75 }
  76 
  77 inline bool ZAddress::is_finalizable(uintptr_t value) {
  78   return value & ZAddressMetadataFinalizable;
  79 }
  80 
  81 inline bool ZAddress::is_finalizable_good(uintptr_t value) {
  82   return is_finalizable(value) && is_good(value ^ ZAddressMetadataFinalizable);
  83 }
  84 
  85 inline bool ZAddress::is_remapped(uintptr_t value) {
  86   return value & ZAddressMetadataRemapped;
  87 }
  88 
  89 inline bool ZAddress::is_in(uintptr_t value) {
  90   // Check that exactly one non-offset bit is set
  91   if (!is_power_of_2(value & ~ZAddressOffsetMask)) {
  92     return false;
  93   }
  94 
  95   // Check that one of the non-finalizable metadata is set
  96   return value & (ZAddressMetadataMask & ~ZAddressMetadataFinalizable);


< prev index next >