8033792: AltHashing used jint for imprecise bit shifting

AltHashing used jint the way of juint in bit shifting which could lead loss of precision. Fix  by change _seed defined as juint.

Reviewed-by: coleenp, ccheung
This commit is contained in:
Yumin Qi 2014-02-10 21:29:14 -08:00 committed by Yumin Qi
parent 35ff06e689
commit a90e842e0c
10 changed files with 66 additions and 65 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -280,7 +280,7 @@ protected:
// Function to move these elements into the new table.
void move_to(Hashtable<T, F>* new_table);
static bool use_alternate_hashcode() { return _seed != 0; }
static jint seed() { return _seed; }
static juint seed() { return _seed; }
static int literal_size(Symbol *symbol);
static int literal_size(oop oop);
@ -296,7 +296,7 @@ public:
void dump_table(outputStream* st, const char *table_name);
private:
static jint _seed;
static juint _seed;
};