[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 : ObjectInputStream.java ObjectOutputStream.java
ObjectStreamClass.java ObjectStreamField.java
Added files:
gnu/java/io : ObjectIdentityMap2Int.java
Removed files:
gnu/java/io : ObjectIdentityWrapper.java
Log message:
2006-08-21 Friedjof Siebert <address@hidden>
* java/io/ObjectInputStream.java
(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
inputGetObjectStreamClasses()
with a caching in ObjectStreamClass.
(inputGetObjectStreamClass): Replaced by hierarchy().
(lookupHandle): New method. Looks up an object by it's handle
index.
(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.
(readFields):
(rememberHandle): New method.
* java/io/ObjectOutputStream.java
(OIDLookupTable): Use ObjectIdentityMap2Int instead of
Hashtable for improved lookup performance.
(ObjectOutputStream): Initialize OIDLookupTable as
ObjectIdentityMap2Int.
(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/ObjectStreamClass.java
(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/ObjectStreamField.java
(field): Made field package private for access from other
classes.
* gnu/java/io/ObjectIdentityWrapper.java: Removed.
* gnu/java/io/ObjectIdentityMap2Int.java: Efficient
hashtable for mapping objects to ints.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/ChangeLog?cvsroot=classpath&r1=1.8433&r2=1.8434
http://cvs.savannah.gnu.org/viewcvs/classpath/gnu/java/io/ObjectIdentityMap2Int.java?cvsroot=classpath&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/classpath/gnu/java/io/ObjectIdentityWrapper.java?cvsroot=classpath&r1=1.5&r2=0
http://cvs.savannah.gnu.org/viewcvs/classpath/java/io/ObjectInputStream.java?cvsroot=classpath&r1=1.78&r2=1.79
http://cvs.savannah.gnu.org/viewcvs/classpath/java/io/ObjectOutputStream.java?cvsroot=classpath&r1=1.68&r2=1.69
http://cvs.savannah.gnu.org/viewcvs/classpath/java/io/ObjectStreamClass.java?cvsroot=classpath&r1=1.45&r2=1.46
http://cvs.savannah.gnu.org/viewcvs/classpath/java/io/ObjectStreamField.java?cvsroot=classpath&r1=1.21&r2=1.22