8253089: Windows (MSVC 2017) build fails after JDK-8243208
Reviewed-by: mdoerr, goetz, iklam
This commit is contained in:
parent
af8c678038
commit
3f455f09dc
@ -30,9 +30,9 @@
|
||||
#define DO_FLAG(type, name,...) DO_HASH(FLAG_MEMBER_ENUM(name), XSTR(name))
|
||||
|
||||
#define DO_HASH(flag_enum, flag_name) { \
|
||||
unsigned int hash = hash_code(flag_name); \
|
||||
u2 hash = hash_code(flag_name); \
|
||||
int bucket_index = (int)(hash % NUM_BUCKETS); \
|
||||
_hashes[flag_enum] = (u2)(hash); \
|
||||
_hashes[flag_enum] = hash; \
|
||||
_table[flag_enum] = _buckets[bucket_index]; \
|
||||
_buckets[bucket_index] = (short)flag_enum; \
|
||||
}
|
||||
@ -54,10 +54,10 @@ constexpr JVMFlagLookup::JVMFlagLookup() : _buckets(), _table(), _hashes() {
|
||||
constexpr JVMFlagLookup _flag_lookup_table;
|
||||
|
||||
JVMFlag* JVMFlagLookup::find_impl(const char* name, size_t length) const {
|
||||
unsigned int hash = hash_code(name, length);
|
||||
u2 hash = hash_code(name, length);
|
||||
int bucket_index = (int)(hash % NUM_BUCKETS);
|
||||
for (int flag_enum = _buckets[bucket_index]; flag_enum >= 0; ) {
|
||||
if (_hashes[flag_enum] == (u2)hash) {
|
||||
if (_hashes[flag_enum] == hash) {
|
||||
JVMFlag* flag = JVMFlag::flags + flag_enum;
|
||||
if (strncmp(name, flag->_name, length) == 0) {
|
||||
// We know flag->_name has at least <length> bytes.
|
||||
|
@ -51,14 +51,14 @@ class JVMFlagLookup {
|
||||
|
||||
// This is executed at build-time only, so it doesn't matter if we walk
|
||||
// the string twice.
|
||||
static constexpr unsigned int hash_code(const char* s) {
|
||||
static constexpr u2 hash_code(const char* s) {
|
||||
return hash_code(s, string_len(s));
|
||||
}
|
||||
|
||||
static constexpr unsigned int hash_code(const char* s, size_t len) {
|
||||
unsigned int h = 0;
|
||||
static constexpr u2 hash_code(const char* s, size_t len) {
|
||||
u2 h = 0;
|
||||
while (len -- > 0) {
|
||||
h = 31*h + (unsigned int) *s;
|
||||
h = (u2)(31*h + (u2) *s);
|
||||
s++;
|
||||
}
|
||||
return h;
|
||||
|
Loading…
Reference in New Issue
Block a user