[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commit-cp] classpath ChangeLog java/io/ObjectInputStream.j...

From: Roman Kennke
Subject: [commit-cp] classpath ChangeLog java/io/ObjectInputStream.j...
Date: Mon, 21 Aug 2006 09:27:50 +0000

CVSROOT:        /cvsroot/classpath
Module name:    classpath
Changes by:     Roman Kennke <rabbit78> 06/08/21 09:27:50

Modified files:
        .              : ChangeLog 
        java/io        : 
Added files:
        gnu/java/io    : 
Removed files:
        gnu/java/io    : 

Log message:
        2006-08-21  Friedjof Siebert  <address@hidden>
                * java/io/
                (objectLookupTable): Changed to be a Vector.
                (ObjectInputStream): Initialize objectLookupTable as Vector.
                (assignNewHandle): Store Object using handle index rather than
                Hashtable, using the new rememberHandle() method.
                (hierarchy): New method. This replaces 
                with a caching in ObjectStreamClass.
                (inputGetObjectStreamClass): Replaced by hierarchy().
                (lookupHandle): New method. Looks up an object by it's handle
                (parseContent): Avoid creating of Integer objects. Use
                hierarchy() method for looking up the class hierarchy.
                (processResolution): Use rememberHandle() to store
                handle per index, rather than Hashtabling the object.
                (rememberHandle): New method.
                * java/io/
                (OIDLookupTable): Use ObjectIdentityMap2Int instead of
                Hashtable for improved lookup performance.
                (ObjectOutputStream): Initialize OIDLookupTable as
                (assignNewHandle): Change to use ObjectIdentityMap2Int.
                (findHandle): Change to use ObjectIdentityMap2Int.
                (getBooleanField): Removed.
                (getByteField): Removed.
                (getCharField): Removed.
                (getDoubleField): Removed.
                (getField): Removed.
                (getFloatField): Removed.
                (getIntField): Removed.
                (getLongField): Removed.
                (getObjectField): Removed.
                (writeFields(Object,ObjectStreamClass)): Use new helper method.
                (writeFields(Object,ObjectStreamField)): New helper method.
                Use switch rather then if-else cascade.
                (writeObject): Use int handle, rather then Integer.
                * java/io/
                (hierarchy): New field. Caches the class hierarchy.
                (methodCache): New field. Caches methods.
                (readObjectSignature): New field. Stores the read signature.
                (uidCache): New field. Caches UIDs.
                (writeObjectSignature): New field. Stores the write signature.
                (cacheMethods): Cache methods in methodCache.
                (calculateClassID): Outsourced from getClassUID()
                for computing the UIDs.
                (getClassUIDFromField): Outsourced from getClassUID() for
                fetching the UID from the class field.
                (getClassUID): Use cached uid if possible. Use new helper
                methods for fetching the UID from the field or computing
                from scratch.
                (getObjectStreamClasses): Removed. Replaced by more
                efficient hierarchy() method, that also caches the result.
                (hierarchy): Replaces getObjectStreamClasses() for caching
                the result.
                (loadedByBootOrApplicationClassLoader): New helper method.
                (setClass): Invalidate hierarchy cache.
                (setSuperclass): Invalidate hierarchy cache.
                * java/io/
                (field): Made field package private for access from other
                * gnu/java/io/ Removed.
                * gnu/java/io/ Efficient
                hashtable for mapping objects to ints.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]