jvm.h (_Jv_HashCode): Cast object ptr to `unsigned long' to avoid long long division.

2000-09-06  Jeff Sturm  <jeff.sturm@appnet.com>

	* include/jvm.h (_Jv_HashCode): Cast object ptr to `unsigned long'
	to avoid long long division.

From-SVN: r36215
This commit is contained in:
Jeff Sturm 2000-09-06 22:25:56 +00:00 committed by Tom Tromey
parent 9579ea7efd
commit 26aa75bef9
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2000-09-06 Jeff Sturm <jeff.sturm@appnet.com>
* include/jvm.h (_Jv_HashCode): Cast object ptr to `unsigned long'
to avoid long long division.
2000-09-06 Tom Tromey <tromey@cygnus.com>
* java/lang/reflect/Constructor.java (toString): Use `getName' for

View File

@ -164,8 +164,9 @@ inline jint
_Jv_HashCode (jobject obj)
{
// This was chosen to yield relatively well distributed results on
// both 32- and 64-bit architectures.
return (jint) ((unsigned long long) obj % 0x7fffffff);
// both 32- and 64-bit architectures. Note 0x7fffffff is prime.
// FIXME: we assume sizeof(long) == sizeof(void *).
return (jint) ((unsigned long) obj % 0x7fffffff);
}
// Return a raw pointer to the elements of an array given the array