3 research outputs found
Space and Time-Efficient Hashing of Garbage-Collected Objects
. The hashCode() method found in the Java ^TM programming language, and similar methods in other languages, map an arbitrary object to an integer value that is constant for the lifetime of the object. We review existing implementations of the hash operation, specifying the kinds of memory systems for which they work. Then we propose a new implementation of hashing for the hardest case: memory systems with compaction and direct pointers. Our proposal uses just two bits of space per object for the (majority of) objects that are never hashed. 1 Introduction The Java programming language defines the method hashCode() in the topmost class Object [2] (p. 64): public native int hashCode(). For any object, the method returns a 32-bit integer hash value, which programmers can use to build hash tables of objects. Smalltalk [4] (p. 96) and Self [1] (p. 62), as well as other object-oriented languages, define similar methods. The Self version of the method is called _IdentityHash. As this name..