mirror of
https://github.com/openjdk/jdk.git
synced 2026-05-10 05:29:48 +00:00
8382920: Shenandoah: Do fewer implicit narrowing conversions
Reviewed-by: wkemper, ruili
This commit is contained in:
parent
05882095a8
commit
6b8ad8bcc0
@ -88,10 +88,10 @@ public:
|
||||
_local_card_stats[MAX_CLEAN_RUN].add(percent_of(_max_clean_run, _cards_in_cluster));
|
||||
|
||||
// Update global stats for dirty obj scan counts
|
||||
_local_card_stats[DIRTY_SCAN_OBJS].add(_dirty_scan_obj_cnt);
|
||||
_local_card_stats[DIRTY_SCAN_OBJS].add(static_cast<double>(_dirty_scan_obj_cnt));
|
||||
|
||||
// Update global stats for alternation counts
|
||||
_local_card_stats[ALTERNATIONS].add(_alternation_cnt);
|
||||
_local_card_stats[ALTERNATIONS].add(static_cast<double>(_alternation_cnt));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -446,7 +446,7 @@ inline bool ShenandoahHeap::in_collection_set_loc(void* p) const {
|
||||
}
|
||||
|
||||
inline char ShenandoahHeap::gc_state() const {
|
||||
return _gc_state.raw_value();
|
||||
return integer_cast<char>(_gc_state.raw_value());
|
||||
}
|
||||
|
||||
inline bool ShenandoahHeap::is_gc_state(GCState state) const {
|
||||
|
||||
@ -27,6 +27,7 @@
|
||||
|
||||
#include "cppstdlib/cstddef.hpp"
|
||||
#include "gc/shenandoah/shenandoahAsserts.hpp"
|
||||
#include "utilities/integerCast.hpp"
|
||||
|
||||
// TODO: Merge the enhanced capabilities of ShenandoahSimpleBitMap into src/hotspot/share/utilities/bitMap.hpp
|
||||
// and deprecate ShenandoahSimpleBitMap. The key enhanced capabilities to be integrated include:
|
||||
@ -110,7 +111,7 @@ public:
|
||||
assert((idx >= 0) && (idx < _num_bits), "precondition");
|
||||
size_t array_idx = idx >> LogBitsPerWord;
|
||||
uintx bit_number = idx & (BitsPerWord - 1);
|
||||
uintx the_bit = nth_bit(bit_number);
|
||||
uintx the_bit = nth_bit(integer_cast<int>(bit_number));
|
||||
_bitmap[array_idx] |= the_bit;
|
||||
}
|
||||
|
||||
@ -118,7 +119,7 @@ public:
|
||||
assert((idx >= 0) && (idx < _num_bits), "precondition");
|
||||
size_t array_idx = idx >> LogBitsPerWord;
|
||||
uintx bit_number = idx & (BitsPerWord - 1);
|
||||
uintx the_bit = nth_bit(bit_number);
|
||||
uintx the_bit = nth_bit(integer_cast<int>(bit_number));
|
||||
_bitmap[array_idx] &= ~the_bit;
|
||||
}
|
||||
|
||||
@ -126,7 +127,7 @@ public:
|
||||
assert((idx >= 0) && (idx < _num_bits), "precondition");
|
||||
size_t array_idx = idx >> LogBitsPerWord;
|
||||
uintx bit_number = idx & (BitsPerWord - 1);
|
||||
uintx the_bit = nth_bit(bit_number);
|
||||
uintx the_bit = nth_bit(integer_cast<int>(bit_number));
|
||||
return (_bitmap[array_idx] & the_bit) != 0;
|
||||
}
|
||||
|
||||
|
||||
@ -158,8 +158,8 @@ private:
|
||||
static const uintptr_t weak_extract_mask = 1 << 1;
|
||||
static const uintptr_t chunk_pow_extract_mask = ~right_n_bits(oop_bits);
|
||||
|
||||
static const int chunk_range_mask = right_n_bits(chunk_bits);
|
||||
static const int pow_range_mask = right_n_bits(pow_bits);
|
||||
static const int chunk_range_mask = right_n_bits<int>(chunk_bits);
|
||||
static const int pow_range_mask = right_n_bits<int>(pow_bits);
|
||||
|
||||
inline oop decode_oop(uintptr_t val) const {
|
||||
STATIC_ASSERT(oop_shift == 0);
|
||||
@ -249,7 +249,7 @@ public:
|
||||
}
|
||||
|
||||
static int chunk_size() {
|
||||
return nth_bit(chunk_bits);
|
||||
return nth_bit<int>(chunk_bits);
|
||||
}
|
||||
};
|
||||
#else
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user