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
+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
_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